我的Rails應用程序的公用文件夾中有一些文件不屬於資產管道(例如sitemap.xml或可嵌入小部件的.js文件)。使用Heroku上的Rails3更新公用文件夾中的靜態資產
雖然我沒有更新public/assets文件夾中的資產的問題,但我有更新這些靜態文件的麻煩。奇怪的是,我可以添加新文件,但我無法更新現有文件。當我在開發中更新它們時,在生產環境(Heroku)中不會考慮這些修改。
我已經嘗試了很多東西,但似乎無法找到解決方案。任何想法 ?
我的Rails應用程序的公用文件夾中有一些文件不屬於資產管道(例如sitemap.xml或可嵌入小部件的.js文件)。使用Heroku上的Rails3更新公用文件夾中的靜態資產
雖然我沒有更新public/assets文件夾中的資產的問題,但我有更新這些靜態文件的麻煩。奇怪的是,我可以添加新文件,但我無法更新現有文件。當我在開發中更新它們時,在生產環境(Heroku)中不會考慮這些修改。
我已經嘗試了很多東西,但似乎無法找到解決方案。任何想法 ?
/public/assets
文件夾是自動生成的,因此您不能直接向其中插入文件。事實上,這個文件夾應該在你的.gitignore
,這將解釋爲什麼你的改變不會傳播到生產。也就是說,他們沒有被包含在你的提交中。
完全靜態資產(例如您的sitemap.xml
)應進入/public
文件夾。 js
文件和其他實際上是網站執行的一部分的文件夾應該位於/app/assets/javascripts
(僅用於此站點的代碼),/lib/assets/javascripts
(用於您在公司/項目中共享的代碼),/vendor/assets/javascripts
文件夾(用於來自外部源的代碼) 。
你可以在這裏閱讀更多:http://guides.rubyonrails.org/asset_pipeline.html
Heroku上有一個不變的文件系統,這意味着你不能更改,或添加到文件系統。你需要一個不同的策略。從另一個服務提供文件,將它們放在一個數據庫中,或將它們從外部連接到Amazon S3等。
但我不確定我是否完全理解您所指過程中的哪一部分。您是在談論在構建中生成的文件,還是在運行服務期間修改的文件?
謝謝,但你沒有真正回答這個問題。我正在談論公共文件夾中的文件(不是公共文件夾) – Emmanuel