具体来说,假设我有一个名为Products的模型,它有一个名为:cover_image的列,用于保存图片
我安装了上传器,一切正常
除了现在我想要为新产品或现有产品添加自定义网址
例如
我想这样做
p = Product.last
p.cover_image = "something"
它不起作用
我添加了
attr_accessor :cover_image_url
现在我能够做到
p.cover_image_url = "something"
一旦我做了
p.save
它就像一切都很顺利
除了cover_image列仍为空
如何手动填充链接?
提前致谢
答案 0 :(得分:0)
如果您需要某些产品和其他产品的自定义网址,您对上传的图片网址感到满意,这就是我要做的事情。 (我建议保留cover_image_url
,并为自定义网址创建一个单独的列
1 - 创建一个名为custom_url
的单独列(离开cover_image_url
)
2 - 删除attr_accessor :cover_image_url
并保持原样(因为它会覆盖向上加载器功能)
3 - 更新产品型号以获得返回网址的方法
class Product < ActiveRecord::Base
# ... other code
def image_url
# return custom_url if it has one, or the standard url
# you can change this logic as you want
custom_url || cover_image_url
end
end
4 - 现在,我没有致电p.cover_image_url
而是致电p.image_url
p = Product.last
p.image_url