在开发环境(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/
(开发环境)以及如何以正确的方式修复它?
答案 0 :(得分:1)
默认情况下,Rails仅将application.js编译为独立文件。您可以使用config.assets.precompile
添加要在config / application.rb中编译的其他文件,因此添加slides_index
:
config.assets.precompile += ['slides_index.js']