2012-01-13 42 views
2

我想在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的方法。如何在Rails 3.1生產環境中使控制器/查看特定的Javascript工作

這對我的開發環境非常有用。但是,它在我的生產環境中失敗。我收到消息,ActionView :: Template :: Error(users.js沒有預編譯)。裏面

我user.js.coffee文件... /應用/資產/ JavaScript的目錄包含

//= require i18n/grid.locale-en 
//= require jquery.jqGrid.min  
// 
//= require grid_object.js 

我index.html.haml文件內... /應用/視圖/用戶包含

- javascript 'users' 
... 

我application_helper包含

def javascript(*files) 
    content_for(:head) { javascript_include_tag(*files) } 
end 

我的應用程序佈局文件包含

%= yield(:head) %> 

最後,我的application.js文件中... /應用/資產/ JavaScript的包含

//= require jquery 
//= require jquery-ui 

我缺少什麼?

+0

我想通了,它與... /配置/環境/ production.rb與config.assets.precompile但不確定的價值做。我嘗試過config.assets.precompile <<'* .js',但是這有問題,因爲它牽扯到所有供應商的javascripts,包括語言特定的js。 – 2012-01-13 06:05:18

回答

1

我決定爲所有需要預編譯的控制器/視圖特定的JavaScript使用後綴(即'_pc')。需作修改爲:

裏面我的看法,我用:

- javascript require 'users_pc' 

我重新命名users.js.coffee文件users_pc.js.coffee

最後,我更新了我的... /config/environments/production.rb文件包含

- config.assets.precompile << '*_pc.js' 
相關問題