programing

Paperclip을 사용하여 프로그래밍 방식으로 파일 업로드를 설정하는 방법

nasanasas 2020. 11. 10. 08:15
반응형

Paperclip을 사용하여 프로그래밍 방식으로 파일 업로드를 설정하는 방법


가짜 보석을 사용하여 임의의 데이터로 응용 프로그램을 시드하는 레이크 작업이 있습니다. 그러나이 레이크 작업에서 업로드하려는 이미지 (로고와 같은)도 있습니다.

이미 Paperclip이 설정되어 있지만 레이크 작업에서 프로그래밍 방식으로 업로드 할 방법이 없습니다. 어떤 아이디어?


프로그래밍 방식이란 무엇을 의미합니까? 다음 줄을 따라 파일 경로를 사용하는 방법을 설정할 수 있습니다.

my_model_instance = MyModel.new
file = File.open(file_path)
my_model_instance.attachment = file
file.close
my_model_instance.save!

#attachment모델의 Paperclip 선언에서 비롯됩니다. 이 경우 모델은 다음과 같습니다.

class MyModel < ActiveRecord::Base
  has_attached_file :attachment
end

프로젝트를 부트 스트랩 할 때 이와 유사한 작업을 수행했습니다.


나는 레이크 작업에서 이와 같은 일을합니다.

photo_path = './test/fixtures/files/*.jpg'
Dir.glob(photo_path).entries.each do |e|
  model = Model.find(<query here>)        
  model.attachment = File.open(e)
  model.save
end

이게 도움이 되길 바란다!


나는 이것을위한 방법을 실제로 작성할 필요가 없었다. 훨씬 간단합니다.

모델에서->

Class Model_Name < ActiveRecord::Base
  has_attached_file :my_attachment,
  :params_for_attachment

seed.db에서->

my_instance = Model_name.new
my_instance.my_attachment = File.open('path/to/file/relative/to/app')
my_instance.save!

아마도 이전 답변은 Model_name.attachment 메소드를 작성하는 대신 모델에 정의 된 첨부 파일의 이름을 사용하는 것을 의미했을 것입니다. 이것이 분명하기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/1397461/how-to-set-a-file-upload-programmatically-using-paperclip

반응형