我正在将应用程序从Rails 2移动到Rails 3.我在应用程序中有一堆JavaScript文件,其中大部分用于处理Google Maps。以前,我的JS文件在public / javascripts / * .js中。我注意到它们没有被任何使用javascript_include_tag的页面加载,后者编写了一个试图从/assets/*.js加载JS文件的JavaScript标记。 (例如/assets/application.js)。
我读到Rails 3希望JS文件位于app / assets / javascripts / * .js中。所以我把我的JS文件移到那里,但它们仍然无法在/assets/application.js访问,除非我先运行捆绑exec rake资产:预编译。
我的JS开发周期不可能是:
太长了。 我的问题是如何配置我的应用以便开发周期如下?
到目前为止,我已经尝试过:
提前致谢。
答案 0 :(得分:1)
Rails资产管道应与清单文件一起使用。这允许Rails在生产时连接所有的javascript。为此,您应该有一个类似于。
的application.js文件//= require jquery
//= require jquery_ujs
//= require_tree .
这里的重要部分是require_tree部分。这告诉Rails将所有其他javascript文件包含在同一文件夹中。这意味着您希望application.js的清单版本和所有自定义JavaScript文件都存在于app / assets / javascripts中。
可以在此RailsCast中找到从Rails 2转换到资产管道的良好指南:http://railscasts.com/episodes/282-upgrading-to-rails-3-1
答案 1 :(得分:0)
最近我有这个问题
我更改了文件config / environments / development.rb
config.assets.digest = false
然后那工作