2012-01-26 5 views
1

두 가지 모델이 있습니다 : 사진과 속성. 속성 have_many 사진. paperclip을 통해 사진을 업로드 할 때 디렉토리 구조가 properties/the_property_id/: id. : style과 같아 지길 원합니다 (물론 두 번째 : id는이 모델의 이미지 ID입니다).종이 클립 사용 매개 변수 : url 옵션

사진이 속성 모델 (accepts_nested_attributes_for)을 통해 추가되고 편집됩니다. 그래서, 속성 편집 페이지를 볼 때 나는 종이 클립이 다음과 같은 것을 사용할 수 있도록 속성 ID (params [: id])를 사진 모델에 전달하는 방법이 필요합니다. url =>properties/params[:id]/:style/:id.:extension. (속성/6/small/2.jpg)

이 작업을 수행하는 가장 좋은 방법은 ...이 작업을 어떻게 수행 하시겠습니까?

답변

1

종이 클립 보간을 사용해야합니다 (자세한 내용은 https://github.com/thoughtbot/paperclip/wiki/Interpolations 참조). 그럼 당신은 같은 것을 가질 수 있습니다

Paperclip.interpolates :param_value do |attachment, style| 
    attachment.instance.property.params[attachment.instance.id] 
end 

과 같은 방법으로 모델에서 사용 :

:url => properties/:param_value/:style/:id.:extension