Paperclip使用params:url选项

时间:2012-01-26 22:51:49

标签: ruby-on-rails model paperclip options

我有两个模特:照片和属性。一个属性has_many照片。当通过回形针上传照片时,我希望目录结构类似于properties / the_property_id /:id。:style(当然,第二个:这里的id将是图像ID,因为那是什么模型)。

通过属性模型(accepts_nested_attributes_for)添加和编辑照片。因此,在查看属性编辑页面时,我需要一种将属性id(params [:id])传递给照片模型的方法,因此回形针可以使用如下内容:url => properties/params[:id]/:style/:id.:extension。 (属性/ 6 /小/ 2.JPG)

寻找最佳方法的建议......你将如何完成这项任务?

1 个答案:

答案 0 :(得分:1)

您需要使用Paperclip插值(有关详细信息,请参阅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