生产中JS文件的Rails 3.1资产管道中的指纹错误

Yer*_*nov 5 javascript assets ruby-on-rails

我在部署CSS和图像之后将项目部署到服务器 - 它正在工作,但JS不起作用 - 404. HTML和公共/资产中的JavaScript哈希 - 不匹配.

In HTML: application-6851a5d9167871936c32da723dca0f23.js
In public/assets: application-95ecf5bab4b7984abe8c1c23b72a7679.js
Run Code Online (Sandbox Code Playgroud)

use*_*746 0

您是否运行了“rake asset:clean asset:precompile”?

另外,如果您使用 GIT,您还需要“git rm”旧版本的资产。如果您的生产环境是通过推送工作区(例如 Heroku)来更新的,您将需要对其他版本控制系统执行类似的操作。

在您的开发环境中,资产是直接从源库中获取的 - 因此,如果您更改它们,则无需再次预编译(在开发过程中节省时间)。但是,因此您可以很容易地偶然发现这些资产。