cam*_*xon 3 ruby-on-rails image carrierwave
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
Run Code Online (Sandbox Code Playgroud)
我将我的默认图片上传到app/assets/images/fallback/main/default.png
此default_url遵循载波gem所描述的标准资产管道.它不会给我一个错误,但在视图上只显示一个损坏的图像图标.但是,如果有一个有效的上传,它会正确显示上传,所以我知道:thumb,以及:主要进程正在运行.破坏的唯一部分是default_url,我不明白为什么.我正在使用rails 4顺便说一句.有什么想法/想法吗?
谢谢!
我在视图中的代码显示图像是否已上传且默认网址是否为
<div class="img-container">
<%= image_tag @user.image_url(:main).to_s %>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 6
我刚才有类似的问题.尝试简单地返回default_url方法中没有其他内容的"default.png".据我所知,Rails或Carrierwave本身处理所有资产管道问题,并将仅使用名称正确加载default.png.
| 归档时间: |
|
| 查看次数: |
2114 次 |
| 最近记录: |