包括在rails中使用content_的内联javascript

包括在rails中使用content_的内联javascript,javascript,ruby-on-rails,content-for,Javascript,Ruby On Rails,Content For,我正在使用content_for和yeild将javascript文件注入布局的底部,但我想知道包含内联javascript的最佳实践是什么。我特别想知道脚本类型声明放在哪里: <% content_for :javascript do %> <script type="text/javascript"> ... </script> <% end %> ... 或 。。。 我现在正在使用第一个选项,想知道包含多个选项是否不好 ...

我正在使用content_for和yeild将javascript文件注入布局的底部,但我想知道包含内联javascript的最佳实践是什么。我特别想知道脚本类型声明放在哪里:

<% content_for :javascript do %> 
  <script type="text/javascript"> ... </script>
<% end %>

... 

。。。
我现在正在使用第一个选项,想知道包含多个选项是否不好

...
一个视图中的声明。有时我会遇到一些导致这种情况的局部因素。

我更喜欢布局的收益率如下所示:

<html>
  <!-- other stuff -->
  <body>
   <!-- other stuff  -->
   <%= yield :javascript %>
  </body>
</html>

然后在视图中,您可以编写:

<% content_for :javascript do %>
  <script type='text/javascript'>
    function doMagic() {
      //Mind-blowing awesome code here
    }
  </script>

<% end %>

<!-- More view Code -->

<%= render :partial => "sub_view_with_javascript" %>

函数doMagic(){
//令人兴奋的代码在这里
}
“带有javascript的子视图”%>
在带有javascript.html.erb的部分_sub_视图中,您还可以编写:

<% content_for :javascript do %>
  <script type='test/javascript'>
     function DoMoreMaths() {
       return 3+3;
     }
   </script>
<% end %>

函数域数学(){
返回3+3;
}
我对这种方法的推理是,的产量和内容在不同的文件中。为的每个内容添加script标记并不容易,但它允许语法高亮器识别每个文件中语言的变化,并在这方面帮助我

如果在一个文件中有多个内容用于调用同一个符号(在我们的例子中是:JavaScript),我会考虑将它们全部合并到顶部,但是它适合于使用部分。


HTML非常乐意拥有尽可能多的脚本块。唯一可能的问题是,当使用firebug等开发工具中的代码时,需要花费更多的时间来为函数找到正确的脚本块。这只在我需要设置javascript断点进行调试时发生。

如果您真的想在html中保持