在Rails生产环境中没有找到coffeescript视图

时间:2011-10-04 21:42:45

标签: ruby-on-rails-3.1

我正在使用rails 3.1 app。我有一个注释控制器,使用ajax更新页面。视图/注释中有一个create.js.coffee应该在创建注释时呈现。这在dev env中运行得很好,但是当我在生产中运行应用程序时,无法找到视图。这就像资产管道不包括在生产模式中一样。

可以在此处找到代码:https://github.com/samnang/ajax_rails31_demo

2 个答案:

答案 0 :(得分:8)

问题是您需要将coffee-rails gem用于生产环境。 https://github.com/samnang/ajax_rails31_demo/issues/1#issuecomment-2297130

开箱即用的rails不支持在请求中提供JS,所以我采取了另一种方法。

本文作者建议http://www.alfajango.com/blog/rails-3-remote-links-and-forms/充分利用UJS。这似乎是在xhr之后更新页面的趋势模式。所以现在我的控制器总是呈现html,我使用ajax:完全回调来附加xhr.result_text。提示:如果您还没有看过jQuery的live()方法,请查看它。这种模式很有用。

答案 1 :(得分:0)

您必须在部署过程中预编译资产:

rake assets:precompile

或打开管道(性能受到轻微影响):

# config/environment/production.rb:
config.serve_static_assets = true