我不太明白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。
提前谢谢!
答案 0 :(得分:0)
尝试加入Application
布局
<%= yield :head %>
标记之间 head
。