carrierwave default_url如何在视图中显示?

时间:2012-03-05 12:06:47

标签: ruby-on-rails ruby-on-rails-3 activerecord upload carrierwave

如果没有附加图像,Carrierwave支持default_url

我有这样的设置:

  def default_url
    "/assets/avatars/" + [version_name, "_default.png"].compact.join('_')
  end

使用辅助方法,如:

  def show_avatar(id)
    @profile = User.find(id).profile rescue nil
    image_tag @profile.assets.first.file_url(:search) rescue nil
  end

如何对其进行重构,以便在没有图像时显示default_url图像?我找不到这个,现在使用救援零,因为如果没有附加图像,它会崩溃。

2 个答案:

答案 0 :(得分:2)

我可能错了,但我确信在这种情况下你会做的

image_tag model.mount.version.url

如果没有版本或文件,则carrierwave使用默认网址

答案 1 :(得分:0)

我通过这样做来解决这个问题:

Image.new.file.url(:version)

Image是我的模型,其中我将上传者附加到file字段。希望它有所帮助。