生产环境中缺少javascript_include_tag文件(404)

时间:2015-02-17 20:19:44

标签: javascript ruby-on-rails nginx passenger

在开发环境(therubyracer)上,一切都很棒。现在我设置nginx + passenger来为生产环境运行我的rails应用程序。一切正常,除了我得到404的一个(slides_index.js)文件。

该文件包含jQuery代码,必须只在一个页面上运行。 为此,我在该页面上使用<%= javascript_include_tag "slides_index" %>

我运行创建rake assets:precompile的{​​{1}}。该路径中没有任何其他.js文件,尤其是没有 slides_index.js (该文件位于public/assets/application-1774b3421bf0b4433ea3628c1c5dce38.js)。

很明显,如果app/assets/javascripts/路径中没有 slides_index.js ,那么我得到的是404。问题是为什么它适用于public/assets/(开发环境)以及如何以正确的方式修复它?

1 个答案:

答案 0 :(得分:1)

默认情况下,Rails仅将application.js编译为独立文件。您可以使用config.assets.precompile添加要在config / application.rb中编译的其他文件,因此添加slides_index

config.assets.precompile += ['slides_index.js']