使用Rails 3在特定页面上包含javascript

时间:2014-07-27 12:14:23

标签: javascript ruby-on-rails assets

我已经使用Ajax和Rails创建了实时聊天服务,在那里我向服务器发送ajax GET请求并接收响应。无论如何,我希望Ajax脚本适用于除家庭/聊天之外的每个页面。 所以,我有chat.js文件,我将它包含在application.html中,如下所示:

title Online Mental Health
 = stylesheet_link_tag 'application', :media => "all"
 = csrf_meta_tags
 = javascript_include_tag 'application'
 - unless params[:controller] == 'home' 
   = javascript_include_tag 'chat.js' 

另外,我在staging.rb和production.rb中添加了这个:

 config.assets.precompile += %w( chat.js )

我没有将chat.js文件包含到application.js中。

但是当我在服务器上部署我的应用程序时,

 RAILS_ENV=staging bundle exex rake assets:precompile

我收到的错误如下:

Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Dashboards#user_view

chat.js isn't precompiled

Extracted source (around line #10):

7:     / = render 'shared/chat_javascript_include'
8:     = javascript_include_tag 'application'
9:     - unless params[:controller] == 'home' 
10:       = javascript_include_tag 'chat.js' 
11:   body
12:     = render 'forum_areas/header'
13:   - if current_user.present?

感谢任何帮助。 谢谢

1 个答案:

答案 0 :(得分:1)

我将评论作为任何人使用它的帖子

请在您的环境文件(staging.rbproduction.rb

中执行此操作

config.assets.compile = true