我正在尝试在Rails 3.1中创建视图/控制器特定的Javascript。我已经按照Rails 3.1 asset pipeline: how to load controller-specific scripts?和http://tech.thereq.com/post/10754558724/the-rails-3-1-asset-pipeline-in-the-real-world-jquery的方法进行了操作。
这在我的开发环境中非常有用。但是,它在我的生产环境中失败了。我收到消息,ActionView :: Template :: Error(users.js未预编译)。
我在... / app / assets / javascript目录中的user.js.coffee文件包含
//= require i18n/grid.locale-en
//= require jquery.jqGrid.min
//
//= require grid_object.js
我的index.html.haml文件在... / app / views / users中包含
- javascript 'users'
...
我的application_helper包含
def javascript(*files)
content_for(:head) { javascript_include_tag(*files) }
end
我的应用程序布局文件包含
%= yield(:head) %>
最后,我的application.js文件在... / app / assets / javascript中包含
//= require jquery
//= require jquery-ui
我错过了什么?
答案 0 :(得分:1)
我决定对我需要预编译的所有控制器/视图特定的javascript使用后缀(即' _pc')。所需的更改是:
在我看来,我用过:
- javascript require 'users_pc'
我将users.js.coffee文件重命名为users_pc.js.coffee
最后,我更新了我的... / config / environments / production.rb文件以包含
- config.assets.precompile << '*_pc.js'