如何使用运载工具在rails 4上为我的cover_image添加网址

时间:2017-12-20 21:37:51

标签: ruby-on-rails ruby

具体来说,假设我有一个名为Products的模型,它有一个名为:cover_image的列,用于保存图片

我安装了上传器,一切正常

除了现在我想要为新产品或现有产品添加自定义网址

例如

我想这样做

p = Product.last
p.cover_image = "something"

它不起作用

我添加了

attr_accessor :cover_image_url

现在我能够做到

p.cover_image_url = "something"

一旦我做了

p.save

它就像一切都很顺利

除了cover_image列仍为空

如何手动填充链接?

提前致谢

1 个答案:

答案 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