我不太明白Rails 是如何包含JavaScript 文件的。
Google 和以下文档没有解决我的问题:
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 文件中。
我的问题:该功能不工作。但是如果我直接在 application.html.erb 中包含 my_javascript.js,就像
<%= 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.
提前谢谢你!
尝试放入
Application
布局
<%= yield :head %>
在head
标签之间。