[英]Ruby on Rails - image_tag cannot find local image
我正在尝试显示带有image_tag
的徽标图像,但是它总是作为损坏的图像出现。
// application.html.erb
<%= image_tag("logo.png") %>
我有两个为“Logo.png” /assets/images/logo.png
和/assets/logo.png
并且已经尝试了很多的URL的变化如images/logo.png
, /images/logo.png
, 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:precompie
似乎没有任何改变。
/project_base/public/...
没有为logo.png
生成资产。
我没有更改development.rb
文件中的任何内容,但尝试添加:
config.assets.digest = false
config.assets.compile = true
这似乎仍然不会影响图像。
尝试<%= image_tag'logo.png'%>
另外,我可以查看更多您的application.html.erb文件吗?
我在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'
我想这个想法是,每次更新资产时,都应该更新资产版本。 我不确定是否值得,因此我可能会完全删除该行。
您只需要将图片放在资源/图片/中,就可以从任何视图加载它
<%=image_tag("logo.png")%>
如果rails找不到您的图像,则它将引发异常AssetNotFound
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.