Ruby on Rails - image_tag无法找到本地图片

时间:2017-01-11 17:58:16

标签: css ruby-on-rails ruby asset-pipeline

我正在尝试使用image_tag显示徽标图片,但它总是显示为损坏的图像。

// application.html.erb

<%= image_tag("logo.png") %>

我在/assets/images/logo.png/assets/logo.png都有“logo.png”,并尝试了很多网址的变体,例如images/logo.png/images/logo.png,{{1等等,但似乎没有任何效果。

关于我可能做错的任何想法?

谢谢。

修改:添加信息

我正在assets/images/logo.png使用rails ~> 5.0.1

该文件位于bootstrap-sass ~> 3.3.6

正在运行/project_base/app/assets/images/logo.png似乎没有任何改变。

rake assets:clobber & rake assets:precompielogo.png没有生成资产。

我没有更改/project_base/public/...文件中的任何内容,但尝试添加:

development.rb

仍然似乎没有影响图像。

3 个答案:

答案 0 :(得分:1)

试         &lt;%= image_tag'logo.png'%&gt;

另外,我可以看到更多的application.html.erb文件吗?

答案 1 :(得分:0)

我在Rails 5.0.2中遇到了这个问题。

最终解决了什么是更改以下行中的版本,在我的例子中,在config / assets.rb中找到:

Rails.application.config.assets.version = '1.0'

根据http://guides.rubyonrails.org/asset_pipeline.html#upgrading-from-old-versions-of-rails,它可以在config / application.rb中找到

config.assets.version = '1.0'

我想这是因为每次更新资产时都应该更新资产版本。我不确定这是值得的,所以我可能会完全删除这条线。

答案 2 :(得分:0)

您只需将图像放入资源/图像/,然后可以通过

从任何视图加载它
<%=image_tag("logo.png")%>

如果rails无法找到您的图片,则会抛出异常 AssetNotFound