我已经使用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?
感谢任何帮助。 谢谢
答案 0 :(得分:1)
我将评论作为任何人使用它的帖子
请在您的环境文件(staging.rb
,production.rb
)
config.assets.compile = true