像这样的东西?
def blank_image.url(user)
if @user.image.empty?
"/assets/default_photo.jpg"
else
@user.image.url
end
end
资产上的图像,一旦它们被预编译,它们将可以从 /assets 中获得(与样式表和 javascripts 相同),“/images”路径被删除。
根据您的新评论,最好的解决方案可能是为 Carrierwave 提供 default_url,如果您查看文档,您可以执行以下操作:
class MyUploader < CarrierWave::Uploader::Base
version :thumb do
process resize_to_fill: [280, 280]
end
version :small_thumb, :from_version => :thumb do
process resize_to_fill: [20, 20]
end
def default_url
"/assets/default_images/" + [version_name, "default.png"].compact.join('_')
end
end
然后在你的 /app/assets/images/default_images/ 你应该添加照片创建文件default.png这是默认图像,thumb_default.png这是版本:thumb,最后是small_thumb_default.png这是版本:小拇指。
请注意 :thumb 和 :small_thumb 都是一个示例,以防您为上传的图像处理不同的图像版本。