在应用程序布局中,我指向public / assets / ...目录中的资产(js,css和img)。例如:
<link href='assets/images/meta_icons/apple-touch-icon-144x144.png' rel='apple-touch-icon-precomposed' sizes='144x144'>
<script src="assets/javascripts/plugins/modernizr/modernizr.min.js" type="text/javascript"></script>
但是当加载页面localhost / quotes / show时,它正在查找quotes / assets / ...而不是资产/ ...的资产 顺便说一下,当加载页面localhost / quotes时,资产被完全加载并且正在检查assets / ...目录而不是quotes / assets / ... one
我该如何解决这个问题? 感谢
答案 0 :(得分:0)
在引用代码中的资源时,不应使用assets目录的完整路径。而是根据需要使用stylesheet_link_tag
,javascript_include_tag
,asset_path
或image_tag
。这将自动解析Asset管道创建的正确路径。看到
有关更深入的解释,请参阅http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets
答案 1 :(得分:0)
他们制作资产标签助手,如果使用链轮或其他任何东西,通常会需要这些助手。在不知道您的版本的情况下,我可以假设您正在使用Rails 4.1+。就这些而言,例如SLIM。
= favicon_link_tag '/assets/favicon.ico'
meta name="viewport" content="width=device-width, initial-scale=1"
= stylesheet_link_tag 'application', media: 'all'
= javascript_include_tag 'application'
因此,就您的示例而言,favicon链接标记最接近。它也需要选择。
以下是文件:http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html