반응형
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 메소드를 작성하는 대신 모델에 정의 된 첨부 파일의 이름을 사용하는 것을 의미했을 것입니다. 이것이 분명하기를 바랍니다.
반응형
'programing' 카테고리의 다른 글
PNG 이미지를 생성 / 편집하는 무료 도구? (0) | 2020.11.10 |
---|---|
UITableViewCell에서 부모 UITableView 로의 참조? (0) | 2020.11.10 |
MySQL에서 저장 프로 시저 / 함수 정의보기 (0) | 2020.11.10 |
iPhone XCode-앱 아이콘 아래 제목을 변경하는 방법 (0) | 2020.11.10 |
자리 표시 자와 대체 개체를 사용하여 JavaScript 문자열 형식을 지정 하시겠습니까? (0) | 2020.11.10 |