我认为新的资产管道正在弄乱CarrierWave默认方法。我有我想要用作app/assets/images/listing_defaults/default.png
存储的默认图像的文件。
在我的上传器中,我有以下
def default_url
"assets/listing_defaults/" + [version_name, "default.png"].compact.join('_')
end
当我运行我的应用时,图片可以在该地址(localhost:3000/assets/listing_defaults/default.png
)
出于某种原因,当我尝试将默认图像显示在我的视图中时,我什么都没得到。
<p>
<b>Images:</b>
<ul>
<% @listing.images.each do |image| -%>
<li><%= image_tag image.image_url.to_s %></li>
<% end -%>
</ul>
</p>
然而,上传的文件似乎工作正常。有什么想法吗?
顺便说一句,我已经尝试将default_url设置为以下但没有运气。
"#{Rails.root}/app/assets/images/listing_defaults/" + [version_name, "default.png"].compact.join('_')
答案 0 :(得分:0)
看起来你错过了领先的正斜杠:
"/assets/listing_defaults/" + [version_name, "default.png"].compact.join('_')
答案 1 :(得分:0)
我刚修好了!我遇到了同样的问题。
我称之为......
user.avatar.tiny.url
如果附件不存在,那将转到默认网址:)
答案 2 :(得分:0)
我只是将我的图像放在assets / image文件夹和上传文件中:
[version_name, "image_name.png"].compact.join('_')
视图:
<%= image_tag @something.image_url%>