如何更改AssetTagHelper的缩进以使所有内容都排成一行?

时间:2011-01-31 23:28:18

标签: ruby-on-rails ruby ruby-on-rails-3

我是Ruby on Rails的新手,内置的功能给我留下了深刻的印象。在某些时候,在查看我的Rails应用程序生成的HTML时,我发现某些缩进并不完美。看到Ruby在视觉上很吸引人,我为什么不期望它创建的标记是什么?

所以,我有以下内容:

  <%= javascript_include_tag :defaults %>

生成以下内容:

  <script src="/javascripts/prototype.js?1295468839" type="text/javascript"></script>
<script src="/javascripts/effects.js?1295468839" type="text/javascript"></script>
<script src="/javascripts/dragdrop.js?1295468839" type="text/javascript"></script> 
<script src="/javascripts/controls.js?1295468839" type="text/javascript"></script> 
<script src="/javascripts/rails.js?1295468839" type="text/javascript"></script> 
<script src="/javascripts/application.js?1295468839" type="text/javascript"></script>

注意第一行有两个空格的适当缩进,而后面的每一行都放在最开头。

我知道我有点挑剔但是2011年。我们的标记应该和我们的用户界面一样漂亮。

有没有办法在使用AssetTagHelper时设置新行“分隔符”或以其他方式告诉rails缩进?

1 个答案:

答案 0 :(得分:1)

javascript_include_tag无法执行此操作。它只是用换行符加入所有来源。

您可以使用以下内容手动发出每个脚本标记:

<%= javascript_include_tag "prototype" %>
<%= javascript_include_tag "effects" %>
<%= javascript_include_tag "dragdrop" %>
<%= javascript_include_tag "controls" %>
<%= javascript_include_tag "rails" %>
<%= javascript_include_tag "application" %>

另一个选择(以及一个更好的IMO)是使用像Jammit这样的资产包装程序 - http://documentcloud.github.com/jammit/来将JS连接并缩小为单个文件。