为什么禁止在我的<link href="/assets/stylesheets/bootstrap/bootstrap.css" rel="stylesheet">
文件中添加application.html.erb
之类的行。我怎么插入它?
答案 0 :(得分:3)
不是&#34;禁止&#34;直接 - 它只是绕过许多重要的Rails conventions,这可能会产生问题&amp;不一致的行
您要问的内容有几个要素。他们在这里:
<强>布局强>
首先,您需要在布局中使用正确的helpers
:
#app/views/layout/application.html.erb
<%= stylesheet_link_tag "bootstrap/bootsrap" %>
其原因与在Rails应用程序的其他部分使用帮助程序相同 - 因为路径在环境和环境之间发生变化。某些&#34;后端&#34;系统的功能发展,你不能依靠使用vanilla HTML调用&#34; Rails-centric&#34;方法
专业提示是,如果任何对路径或资产的引用,则需要use the helpers Rails提供
资产管道
除此之外,您还需要了解&#34;资产管道&#34;的工作原理。
Rails框架的一大好处是,它使您能够以最有效的方式组织资产 - 将它们保存在/assets
文件夹中。
虽然很适合开发,但当你进入生产环境时会出现问题--Rails在生产中更喜欢serve static assets,这意味着资产将被预先编译并且访问public
文件夹:
在生产环境中,Sprockets使用指纹识别方案 概述如上。默认情况下,Rails假定资产已经过预编译 并将由您的网络服务器作为静态资产提供。
为了确保此功能正常,您需要使用路径助手来动态加载文件;因此允许Rails访问系统上的文件
-
<强>清单强>
我强烈建议您查看资产管道的"manifest" feature:
#app/assets/stylesheets/application.css
/*
*= require bootstrap/bootstrap
*/