簡體   English   中英

生產中JS文件的Rails 3.1資產管道中的指紋錯誤

[英]Wrong fingerprint in Rails 3.1 asset pipeline for JS files in production

我在部署CSS和圖像之后將項目部署到服務器 - 它正在工作,但JS不起作用 - 404. HTML和公共/資產中的JavaScript哈希 - 不匹配。

In HTML: application-6851a5d9167871936c32da723dca0f23.js
In public/assets: application-95ecf5bab4b7984abe8c1c23b72a7679.js

你有沒有運行'rake assets:clean assets:precompile'?

此外,如果您正在使用GIT,您還需要'git rm'舊版本的資產。 如果通過推送工作空間(例如Heroku)更新生產環境,則需要為其他版本控制系統執行類似的操作。

在您的開發環境中,資源直接從源基礎獲取 - 因此,如果您更改它們,則無需再次預編譯(在開發期間節省您的時間)。 但是,由於這個原因,你可以相當容易地偶然發現資產。

重新啟動應用程序為我修復了它。

例如在應用程序的根目錄中:

touch tmp/restart.txt

或者在Capistrano 3的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM