首页 > 解决方案 > 当用户移除当前图片时渲染默认图片

问题描述

当用户删除当前图像时,我正在尝试渲染默认图像。我使用载波 gem 来上传图像。这是我的 application.helper.rb 代码。应用程序.helper.rb:

module ApplicationHelper

  def avatar(image)
    return '100_2.jpg' unless image

    image

  end

我把这段代码用于渲染默认图像,但它不起作用。如何更改代码以呈现默认图像?

标签: rubyimagerubygemscarrierwave

解决方案


取决于此方法的结果是什么。是链接吗?如果是这样,那么image_path方法可能有助于构建这样的链接:

module ApplicationHelper
  def avatar(image)
    image || image_path('100_2.jpg')
  end
end

或者您可能想为您的上传者提供一个默认网址:

class MyUploader < CarrierWave::Uploader::Base
  def default_url(*args)
    ActionController::Base.helpers.asset_path("100_2.jpg")
  end
end

推荐阅读