【问题标题】:carrierwave default_url how to display in views?carrierwave default_url 如何在视图中显示?
【发布时间】:2012-03-22 21:47:34
【问题描述】:

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 图像?我找不到这个,现在使用救援 nil,因为如果没有附加图像,它会崩溃。

【问题讨论】:

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


    【解决方案1】:

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

    image_tag model.mount.version.url
    

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

    【讨论】:

      【解决方案2】:

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

      Image.new.file.url(:version)
      

      Image 是我的模型,我将上传器附加到 file 字段。希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多