【问题标题】:default_url not working with CarrierWave (Rails4)default_url 不适用于 CarrierWave (Rails4)
【发布时间】:2014-03-07 12:59:52
【问题描述】:

如果用户不上传图片,我想显示默认图片。这是我的 picture_uploader.rb,我将 default.png 上传到 /images/fallback。但我无法让它工作。任何提示,我接下来可以尝试什么?

class PictureUploader < CarrierWave::Uploader::Base

  include CarrierWave::MiniMagick
  version :thumb do
    process :resize_to_fill => [150, 150]
  end

  # Provide a default URL as a default if there hasn't been a file uploaded:
  def default_url
    "/images/fallback/" + [version_name, "default.png"].compact.join('_')
  end
end

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-4 carrierwave minimagick


【解决方案1】:

根据你的default_url,你的图片名称应该是thumb_default.png

[2] pry(main)> version_name = 'thumb'
=> "thumb"
[3] pry(main)> [version_name, "default.png"].compact.join('_')
=> "thumb_default.png"

【讨论】:

  • 谢谢!我将名称更改为 thumb_default.png,但它不起作用。我还尝试使用资产管道: ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) 并将文件放入 => "/assets /fallback/thumb_default.png" 但这也不起作用。我不明白 Rails 从哪里获得 version_name?
  • 查看您的服务器日志或使用网络检查器来识别它试图查找的图像的名称(和路径)。
猜你喜欢
  • 2014-11-29
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-30
  • 2012-03-22
相关资源
最近更新 更多