3
鏈輪寶石緩存,即使在那些Ruby代碼可能會在每個編譯如何防止鏈輪緩存一個.erb文件?
例如評估不同.erb文件:foo.js.erb
var foo = <%= Kernel.rand %>;
評估一次,緩存永遠。你如何防止像這樣的文件被鏈輪緩存?
鏈輪寶石緩存,即使在那些Ruby代碼可能會在每個編譯如何防止鏈輪緩存一個.erb文件?
例如評估不同.erb文件:foo.js.erb
var foo = <%= Kernel.rand %>;
評估一次,緩存永遠。你如何防止像這樣的文件被鏈輪緩存?
您可以將JavaScript分成庫(.js.erb
或只是.js
)和配置數據(例如您的var foo
)。然後將所有庫代碼放在Sprocket的手中,並將您的配置置於正常的ERB視圖(可能嵌入在您的佈局中)。
您也可以通過單獨的控制器(/config.js
也許)提供配置數據,如果這樣可以更好地滿足您的架構。
該方法通過將靜態庫與非靜態數據分離來避免您的整個問題。此外,這種方法與Rails 3.1資產管道非常吻合,您應該在生產部署之前預先編譯所有內容。
是的,我不是在Rails應用程序。這只是HTML,JS和鏈輪。我找到了避免有js.erb文件的解決方法。但在Rails應用程序中,是的,你的解決方案看起來是正確的。 – ulver