我在新的rails应用程序中使用angularjs。我将angularjs html文件放在app/assets/angular/templates
中,并将css
和js
文件放在app/vender
中。现在,当我运行项目时,css
和js
文件加载正确,但我不知道如何使用图片。我把我的图像放在html文件之外,但是当我运行项目时,我在chrome console中得到以下错误:
ailed to load resource: the server responded with a status of 404 (Not Found)
assets/angular/templates/index.html
:
<li class="text-center">
<img src="find_user.png" class="user-image img-responsive"/>
</li>
image path
:
assets/angular/templates/find_user.png
server log
:
Started GET "/find_user.png" for 127.0.0.1 at 2014-08-12 14:41:09 +0430
ActionController::RoutingError (No route matches [GET] "/find_user.png")
我在config/application.rb
设置了root,但我又得到了错误:
config.assets.paths << Rails.root.join("app","assets","angular","templates")
如何在html文件中使用我的图像?
答案 0 :(得分:1)
将图片放入路径“public /”
您将能够分离模板和服务器,但在行img src='find_user.png'
中它正在当前服务器上查找图像
答案 1 :(得分:1)
如果您仍想从资产下的自定义文件夹中获取图像。您使用未更改的application.rb。但现在你需要追加&#34; / assets /&#34;在图像src。像
<li class="text-center">
<img src="/assets/find_user.png" class="user-image img-responsive"/>
</li>
因为如果您直接将图像文件放在公共文件夹中,它将正常工作,但您没有在生产模式下的预编译资产中获取这些图像。
答案 2 :(得分:0)
您可以尝试将文件重命名为assets / angular / templates / index.html.erb并使用<%= image_tag "find_user.png" %>
。