0

我有这个(这些)模型

Portfolio
-- PortfolioItem item
  -- Image image
     has_attachment :attachment

都有很好的蛞蝓,我希望 :attachment 的 url 反映这个组织,比如一个实例

photos/holiday_in_venice/ponte_vecchio (all slugs of the respective hierarchy)

会生成这个网址

photos(??)/holiday_in_venice(??)/:slug/:style.:extension

在创建回形针路径/url 期间如何访问这些前身对象?

目前我只能做

ponte_vecchio/small.png
4

1 回答 1

0

您需要创建自定义插值。之后,您可以定义 a:url和 a :path

将一个名为的文件放入paperclip.rb您的config/initializers/文件夹并执行以下操作:

Paperclip.interpolates :portfolio_slug do |attachment, style|
  attachment.instance.portfolio_item.portfolio.title.parameterize
end

Paperclip.interpolates :portfolio_slug do |attachment, style|
  attachment.instance.portfolio_item.title.parameterize
end

之后,您可以像这样使用这些插值:

has_attached_file :attachment, 
  :path=>":rails_root/public/photos/:portfolio_slug/:item_slug/:style.:extension",
  :url=>"/photos/:portfolio_slug/:item_slug/:style.:extension"
于 2012-07-27T06:48:52.953 回答