Rails 5无法在/ app / assets / images目录外显示图像

时间:2018-04-01 22:48:42

标签: ruby-on-rails assets

<%= image_tag("/public/pool_2.jpg") %>

它找到了图像,但没有图片

我检查了rails控制台中的assets.paths,它包括&#34; / public&#34; assets.paths中的目录

rails c
  

Rails.application.assets.paths

...

vice/home_service/public", ...

2 个答案:

答案 0 :(得分:1)

不,由于某种原因,我没有将我的carrierwave上传到/ public。我也改变了/config/application.rb

config.public_file_server.enabled = true

我加倍检查了rails控制台上config.public_file_server.enabled的值。但是Rails 5仍然不喜欢显示像/public/image.png这样的静态图像。

所以我只是将“/ app / assets / images”部分分开,然后就可以了。现在显示图像。 这是我的黑客:

<% @image_src = @profile.avatar.url(:thumb).sub(/\/app\/assets\/images\//, "")  %>
<%= image_tag @image_src %>
<%#= image_tag @profile.avatar.url(:thumb) %>

答案 1 :(得分:0)

为了保持一致性,我建议将图像放在/ public / assets / images中以反映app / assets的结构。

在您看来,您可以使用:

<%= image_tag '/assets/images/pool_2.jpg' %>

另外,请确保在config / application.rb中将config.public_file_server.enabled设置为true

您应该查看Asset Pipeline文档的How to Use the Asset Pipeline部分。