Chr*_*ini 13 ruby-on-rails ruby-on-rails-3 sprockets
在Rails 3.1中,Sprockets用于管理资产并将它们打包成一个文件.总的来说,这不是一个坏主意.
引自外部来源,解释了手头的问题:
这种方法的一个问题是它可能会使调试变得更难,如果你必须查看生产中的"连接"CSS文件来理解包含的代码而不是,那么就更难知道什么来自哪里而不是你刚才包括原始源代码文件.
一种解决方案是有一种方法可以轻松地在"连接"和"正常"模式之间切换(可能已经可以,我不知道),因此正常开发将不受阻碍.但是你必须使用大型连接文件进行生产调试.
在Rails 3.0.X中,我们的设计人员可以使用Firebug轻松指出CSS设置,这将直接指示文件和行号,因为所有CSS文件都是独立的,而不是打包成一个.
或者我错过了这一点?
Suc*_*oir 13
您还可以使用:
<%= stylesheet_link_tag "application", :debug => Rails.env.development? %>
<%= javascript_include_tag "application", :debug => Rails.env.development? %>
Run Code Online (Sandbox Code Playgroud)
这些文件不会在开发中连接,但会在其他环境中连接.
我认为最终(当 RC 接近/成为版本时)您将能够config/application.rb使用以下 config.assets.css_compressor = false修改您的
但是,atm,这并不能真正解决问题,因为 stylesheet_asset_tag 辅助函数与新管道不完全兼容,并且 :all 修饰符不起作用,所以......
在你application.html.erb看来,你必须链接每个 css
<%= stylesheet_link_tag "stylesheets/application" %>
<%= stylesheet_link_tag "stylesheets/foo" %>
<%= stylesheet_link_tag "stylesheets/bar" %>
Run Code Online (Sandbox Code Playgroud)
只要你config.assets.enabled = true的根目录下有config/application.rb资产就会(默认)/assets
您可以启动 Rails 控制台 ( rails c) 并p Rails.application.assets同时查看可配置的属性。
我同意这不是最好的解决方案,但在这一点上(使用 RC 与稳定版本)这是我发现的最好的方法。
更新: 挖掘边缘API,发现这个ActionView::Helper sprockets_stylesheet_link_tag (http://edgeapi.rubyonrails.org/classes/ActionView/Helpers/SprocketsHelper.html),但它似乎仍然是stylesheet_link_tag的不完整替代品,因为它不'不支持:all,您仍然必须stylesheets/在函数调用中包含该段。话虽如此,它可能是继续使用的功能,所以......
<%= sprockets_stylesheet_link_tag "stylesheets/foo" %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |