在Ruby中包含JavaScript(在Rails上)

时间:2013-09-03 12:34:09

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

我不太明白Rails包含JavaScript文件的方式。 谷歌和以下文件没有解决我的问题:
http://railsapps.github.io/rails-javascript-include-external.html
http://guides.rubyonrails.org/asset_pipeline.html

据我所知,Rails使用清单文件(例如applications.js)将每个包含的JavaScript文件打包成一个大文件(性能原因等)。

在application.html.erb中,您需要包含此清单,例如

<%= javascript_include_tag :application %>

我在 / app / assets / (例如my_javascript.js)中添加了一个JavaScript文件。
所以,如果我查看源代码,我可以找到

<script src="/assets/application.js" type="text/javascript"></script>

如果我打开文件,my_javascript.js的内容将在application.js文件中呈现。

我的问题:该功能无效。但是如果我直接在application.html.erb中包含my_javascript.js,比如

<%= javascript_include_tag "my_javascript" %>

它正在工作!当然,它会呈现第二个脚本标记,例如:

<script src="/assets/my_javascript.js" type="text/javascript"></script>

最后,如果我将其包含在特定内容中,为什么该功能有效,而不是如果我使用清单(它应该如何)?我是否需要考虑有关Assets-Pipeline的特殊内容? 我的清单包括

//= require_tree .

但我甚至尝试过

//= require my_javascript

我使用Ruby 1.9.3使用Rails 3.2.3。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

尝试加入Application布局

<%= yield :head %>标记之间

head