Rails生产单个JS文件是否已经预编译?

时间:2012-08-20 16:46:29

标签: ruby-on-rails-3 http-status-code-404 production-environment

所以我在app / assets / javascripts /下面有一个文件 jquery.tmpl.min.js ,无论出于何种原因,我的生产服务器都找不到它。运行rake assets:precompile后,它完成后没有任何错误。我的所有其他javascript资产都被正确编译并发送到浏览器。我的开发服务器找到这个JS文件时没有任何问题。

我的production.rb文件中有以下几行:

config.serve_static_assets = true
config.assets.compile = true
config.assets.precompile += %w( *.js *.css )

错误讯息:

ActionController::RoutingError (No route matches [GET] "/assets/jquery.tmpl.min.js"):

修改 根据这个问题:https://github.com/rails/rails/issues/3596

使用类似javascript_include_tag之类的'jquery.ba-url.min'不会附加.js扩展名。最初我有这个,但后来改为包括.js扩展名。然而,仍然没有骰子。

编辑2 我尝试将//= require jquery.tmpl.min.js添加到我的application.js,但现在当我尝试预编译我的资产时,它说它无法找到该文件。

编辑3 尝试添加//= require_tree但仍未找到。这让我疯了!

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案。结果是编辑2 是我正在寻找的修复。问题是我在开发时编辑并使用github提交到我的生产服务器。但是我忘了将重命名的文件添加到提交中,所以我最后提交的所有内容都是删除生产服务器上的文件。