我不太明白 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/中添加了一个 JavaScript 文件(例如 my_javascript.js)。
所以,如果我查看源代码,我可以找到
<script src="/assets/application.js" type="text/javascript"></script>
如果我打开文件,my_javascript.js 的内容会呈现在 application.js 文件中。
我的问题:该功能不起作用。但是如果我直接将 my_javascript.js 包含在 application.html.erb 中,比如
<%= javascript_include_tag "my_javascript" %>
这是工作!当然,它会呈现第二个脚本标签,例如:
<script src="/assets/my_javascript.js" type="text/javascript"></script>
最后,如果我将它包含在特定的内容中而不是如果我使用清单(它应该如何),为什么该功能会起作用?我是否需要考虑资产管道的一些特别之处?我的清单包括
//= require_tree .
但我什至尝试过
//= require my_javascript
我在 Rails 3.2.3 和 Ruby 1.9.3 上。
先感谢您!