Ruby on rails Rails 4-CarrierWave默认url不使用资产映像 class ImageUploader

Ruby on rails Rails 4-CarrierWave默认url不使用资产映像 class ImageUploader,ruby-on-rails,image,carrierwave,Ruby On Rails,Image,Carrierwave,我已将默认图像上载到app/assets/images/fallback/main/default.png 此默认的_url遵循载波gem描述的标准资产管道。它没有给我一个错误,但没有显示默认图像,只是在视图上显示一个损坏的图像图标。但是,如果存在有效的上载,它会正确显示上载,以便我知道:thumb和:main进程正在工作。唯一被破坏的部分是默认的url,我不知道为什么。顺便说一句,我正在使用rails 4。有什么想法/想法吗 谢谢 视图中显示图像的我的代码,如果图像已上载,则默认url为 cl

我已将默认图像上载到app/assets/images/fallback/main/default.png

此默认的_url遵循载波gem描述的标准资产管道。它没有给我一个错误,但没有显示默认图像,只是在视图上显示一个损坏的图像图标。但是,如果存在有效的上载,它会正确显示上载,以便我知道:thumb和:main进程正在工作。唯一被破坏的部分是默认的url,我不知道为什么。顺便说一句,我正在使用rails 4。有什么想法/想法吗

谢谢

视图中显示图像的我的代码,如果图像已上载,则默认url为

class ImageUploader < CarrierWave::Uploader::Base

  # Include RMagick or MiniMagick support:
  include CarrierWave::RMagick
  # include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  storage :file
  # storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def default_url
    ActionController::Base.helpers.asset_path("fallback/" + [main, "default.png"].compact.join('_'))
  end

  # Create different versions of your uploaded files:
  version :thumb do
    process :resize_to_fit => [50, 50]
  end

  version :main do
    process :auto_orient
    process :resize_to_fit => [300, 360]
  end

  def auto_orient
    manipulate! do |img|
      img = img.auto_orient
    end
  end
end


我也遇到了类似的问题。尝试只返回“default.png”,默认url方法中没有其他内容。据我所知,Rails或Carrierwave自行处理所有资产管道问题,并将仅使用名称正确加载default.png。

正如我所见,您在
default\u url
方法中使用了'main'变量,但应该
version\u name
。如果您想直接使用“main”版本,您应该编写下一个
资产路径(“fallback/”+[“main”,“default.png”].compact.join(“'))
,或者只编写
“fallback/main\u default.png”

你也有错误的路径:

  • 默认图像上载到app/assets/images/fallback/main/default.png
  • 默认url将生成下一个路径-“fallback/main\u default.png”

  • png的大小重要吗?如果是这样,则为300x400
    <div class="img-container">
      <%= image_tag @user.image_url(:main).to_s %>
    </div>