2014-02-13 37 views
5

我有消化部署服務器軌道4個的manifest.json資產近消化

manifest-bcba79cf9483d404e9951992bbe38e46.json 
manifest-7db402a1216c2425e0f881b6331ba27d.json 
... 

如何鏈輪知道它表現的是在最近的幾個清單文件? 或者它應該只有一個清單文件?

問候

+0

我認爲這將使用指紋爲和指紋包含時間戳也。所以它可以找出哪一個是最新的 –

回答

0

我猜你應該只有一個清單文件。嘗試通過像這樣在你的production.rb文件增加你的資產版本到整個高速緩存無效:

config.assets.version = "1.x" 
4

manifest.json總是連接到它的名字隨機SecureRandom.hex(16)。看看manifest,你可以看到Sprockets獲得了第一個可用的文件。

如果您看到多個manifest-*.json您的服務器上的文件,它可能得到風險自鏈輪並沒有真正選擇最新的文件,你可能最終與裝載過時的資產。

只要運行以下命令,你是好去:

bundle exec rake assets:clobber 
bundle exec rake assets:precompile 
+0

我看不到在Sprockets :: Asset中的任何代碼,它決定了哪些許多manifest- .json文件被rails加載。它如何確定哪個是最近的。 – noodl

+0

@noodl我加了一步一步的解釋。並非Sprocket將最新的文件從文件池中提取出來。它會計算您需要的資產的摘要。 –

+0

對不起,如果我不清楚,但有多個清單文件。幾個包含清單信息的json文件和錯誤的文件正在被使用。在清單中包含任何給定路徑的當前文件的摘要,在資產:{}部分中。清單不是像JavaScript文件或其他東西一樣鏈接到的文件。 – noodl