1

我认为新的资产管道正在搞乱 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('_')
4

3 回答 3

0

看起来您缺少前导斜杠:

"/assets/listing_defaults/" + [version_name, "default.png"].compact.join('_')
于 2011-07-28T06:27:09.577 回答
0

我只是把我的图片放在 assets/image 文件夹和上传文件上:

[version_name, "image_name.png"].compact.join('_')

看法:

<%= image_tag @something.image_url%>
于 2013-05-24T14:23:56.067 回答
0

我刚刚修好了!我遇到了同样的问题。

我这样称呼它... user.avatar.tiny.url

如果附件不存在,它将转到默认 URL :)

于 2011-07-28T23:40:56.717 回答