Rails 3,Paperclip - 自定义插值

10

我一直在尝试创建自定义插值器,浏览了网上能找到的所有示例,但无论我做了什么都没有成功。目前我有这个:

模型

has_attached_file :photo,
  :path => ":rails_root/public/images/:img_name-:style.:extension",
  :styles => {
    :original => '100x100',
    :thumb => '30x30'
}

initializers/paperclip.rb

Paperclip.interpolates :img_name do |attachment, style|
  attachment.instance.img_name
end

img_name是上传表单中图片字段的名称。上传时出现的错误为:

无效参数 - (C:/Users/.../stream20110410-384-stl2lk20110230-213-1fm2bab, C:/.../photo_upload/public/images/:img_name-original.jpg)


谢谢!我从paperclip.rb移动到了model,现在它可以工作了... - uhandoh
我将其添加为答案,以便清楚地表明这是一个解决方案。 - Jakub Hampl
1个回答

10

如果直接放在模型中似乎可以工作:

class Model < ActiveRecord::Base

  Paperclip.interpolates :img_name do |attachment, style|
    attachment.instance.img_name
  end

  has_attached_file :photo,
    :path => ":rails_root/public/images/:img_name-:style.:extension",
    :styles => {
      :original => '100x100',
      :thumb => '30x30'
    }

end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接