我在部署CSS和图像之后将项目部署到服务器 - 它正在工作,但JS不起作用 - 404. HTML和公共/资产中的JavaScript哈希 - 不匹配。
In HTML: application-6851a5d9167871936c32da723dca0f23.js
In public/assets: application-95ecf5bab4b7984abe8c1c23b72a7679.js
答案 0 :(得分:0)
您是否运行了资产:清洁资产:预编译'?
另外,如果你正在使用GIT,那么你需要“git rm'资产的旧版本也是如此。如果通过推送工作区(例如Heroku)更新生产环境,则需要为其他版本控制系统执行类似的操作。
在您的开发环境中,资源直接从您的源代码库中提取 - 因此,如果您更改它们,则不需要再次预编译(在开发期间节省您的时间)。但是,由于这个原因,你可以相当容易地偶然发现资产。
答案 1 :(得分:0)
重新启动应用程序为我修复了它。
E.g。在应用程序的根目录中:
touch tmp/restart.txt
或在Capistrano 3&#39> deploy.rb :
namespace :deploy do
desc 'Restart application'
task :restart do
on roles(:app) do
within release_path do
execute :touch, 'tmp/restart.txt'
end
end
end
after 'deploy:publishing', 'deploy:restart'
end