Rails 3.1 资产管道中生产中 JS 文件的指纹错误
我在部署 CSS 和图像后将项目部署到服务器 - 它可以工作,但 JS 不起作用 - 404。HTML 和公共/资产中的 JavaScript 哈希 - 不匹配。
In HTML: application-6851a5d9167871936c32da723dca0f23.js
In public/assets: application-95ecf5bab4b7984abe8c1c23b72a7679.js
I'm deploying the project to the server after deploying CSS and images - it's working, but the JS doesn't work - 404. JavaScript hash in HTML and public/assets - mismatch.
In HTML: application-6851a5d9167871936c32da723dca0f23.js
In public/assets: application-95ecf5bab4b7984abe8c1c23b72a7679.js
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否运行了“rake asset:clean asset:precompile”?
另外,如果您使用 GIT,您还需要“git rm”旧版本的资产。如果您的生产环境是通过推送工作区(例如 Heroku)来更新的,您将需要对其他版本控制系统执行类似的操作。
在您的开发环境中,资产是直接从源库中获取的 - 因此,如果您更改它们,则无需再次预编译(在开发过程中节省时间)。但是,因此您可以很容易地偶然发现这些资产。
Did you run 'rake assets:clean assets:precompile'?
Also, if you're using GIT, you'll need to 'git rm' the older versions of the assets too. You'll need to do something similar for other version control systems if you Production environment is updated by pushing a workspace (e.g. Heroku).
In your Development environment, Assets are fetched directly from your source base - so if you change them, you don't need to precompile again (saving you time during development). But, you can stumble on the assets fairly easily because of that.
重新启动应用程序为我解决了这个问题。
例如,在应用程序的根目录中:
或在 Capistrano 3 的 deploy.rb 中:
Restarting the app fixed it for me.
E.g. in the app's root directory:
or in Capistrano 3's deploy.rb: