当用户移除当前图像时渲染默认图像

Rendering the default image when the user removes the current image

我正在尝试在用户删除当前图像时呈现默认图像。我使用载波 gem 上传图像。这是我的 application.helper.rb 代码。 Application.helper.rb:

module ApplicationHelper

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

    image

  end

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

取决于此方法的预期结果。是 link 吗?如果是这样,那么 image_path 方法可能有助于构造这样一个 link:

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

或者您可能想 provide a default url 给您的上传者:

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