2016-07-31 5 views
0

레코드를 복제하고 amoeba gem을 사용하려고합니다.레코드를 복제하는 중 이미지가 중복되지 않습니다.

amoeba do 
    customize(lamba { |original_object, new_object| 
     new_object.photo = original_object.photo 
    }) 

을하지만 가만히있는 이미지의 경로를 반환 이미지에 대한

(carrierwave를 통해 업 로더입니다) 이미지를 제외한 모든 사본 벌금 나는이 같은 아메바에 사용자 정의 설정을하고 시도 로드가 개별 레코드 ID를보고있을 때

편집 : ok 그래서 copy_carrierwave_file 젬을 설치하고 구현하려고했지만 작동하지 않습니다. 내가 아니면 어디 서버에서 오류를 얻을 해달라고

def create_duplicate 
     puts 'Starting duplication' 
     new_recipe = self.amoeba_dup 
     new_recipe.original_id = self.id 

     CopyCarrierwaveFile::CopyFileService.new(self, new_recipe, :photo).set_file 
     new_recipe.save 
end 

after_save 콜백이 함수를 호출하고 있지만, 아무것도 할 나던

답변

0

수동으로 파일을 복사 할 수 있습니다 :

new_object.photo = File.open(original_object.photo.file.file) if original_object.photo.present? 

또 다른 방법 로컬 파일에서 파일을 업로드하는 방법은 here입니다.

copy_carrierwave_file gem도 볼 수 있습니다.

+0

나는 보석을 시험해 보았지만 여전히 작동하지 않는다. 편집을 참조하십시오. – DRing

+0

작동해야합니다. 다른 옵션을 시도 했습니까? (new_object.photo = File.open (original_object.photo.file.file) 또는 new_object.photo = Rails.root.join ("path/to/image.png") 열기) –

+0

나는 여러 가지 조합을 시도했다. 너 내가 할 수있는대로 넣어 둬. 그것은 경로가 데이터베이스에 저장되어 있지만 ... 그것은 애플 리케이션의 새로운 조리법 폴더에 업로드하지 않습니다, 그래서로드하려고하면 새로운 조리법의 ID에 대한 폴더가 없습니다 – DRing