【rails】 초기 데이터에 seed_fu로 이미지를 넣고 싶을 때의 해결 방법

seed_fu 런타임에 이미지를 넣고 싶을 때가 있습니다.
그런 때에는 이런 느낌으로 쓰고 있습니다.

① 우선 넣고 싶은 이미지를 db/fixtures/images 디렉토리 당 준비





글쎄, 어디서나 좋은 웃음

② 작성하고 싶은 시드 데이터 작성


Rails.root.join를 사용하여 미리 준비된 이미지가있는 폴더를 지정하고 열기

db/fixtures/development/image.rb
Image.seed do |s|
  s.id = 1
  s.content = Rails.root.join("db/fixtures/images/photo1.jpg").open
end

Image.seed do |s|
  s.id = 2
  s.content = Rails.root.join("db/fixtures/images/photo2.jpg").open
end

...


이것만! 간단!

그냥이 아직도 엔엔과 새로운 이미지가 계속 만들어 버리기 때문에

③저장처의 디렉토리 속 보기를 매회 삭제한다



db/fixtures/development/image.rb

# 前回のシード画像を削除
require 'fileutils'
Dir.chdir 'public/uploads/photos/' #僕はここに保存しているだけなので適宜変更
FileUtils.rm(Dir.glob('*.*'))

Image.seed do |s|
  s.id = 1
  s.content = Rails.root.join("db/fixtures/images/photo1.jpg").open
end

Image.seed do |s|
  s.id = 2
  s.content = Rails.root.join("db/fixtures/images/photo2.jpg").open
end

...


완성이나!



참고 URL



Ruby : 디렉토리에서 파일 삭제
h tp // 푹신푹신. 그래. 네트/아르치 c㎇/376399708. HTML

좋은 웹페이지 즐겨찾기