![](/img/trans.png)
[英]Rails app doesn't load updates to Javascript files until I run rails assets:precompile
[英]Heroku Ruby on Rails app don't updates non-digested assets in public/assets dir
我在heroku上有Ruby on Rails應用程序。
我們正在使用ruby 2.1.5
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
和Ruby on Rails 4.1.1
寶石文件: http ://codepad.org/6YwcIHYL
鏈輪版本(摘自gemfile.lock
):
sprockets (2.11.0)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (2.2.4)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
當然我們在使用消化的資產
例如application-d99ed24f47c5c39b96889148558cb16c.js
它們正在工作
除此之外,我還在CKEditor中使用未消化的資產,
我把它們放在RAILS_ROOT/public/assets
目錄下
所以/assets/ckeditor/config.js
應該指向RAILS_ROOT/public/assets/ckeditor/config.js
問題
我無法更新public/assets
下的public/assets
我從CKEditor更新了一個文件,但是當我執行以下操作時,它也不顯示更改:
我提交了更改,並基於CircleCI通過(連續集成服務)。 自動部署將更新登台服務器。
但是我仍然得到舊文件。
我還用heroku run bash
查看了文件的來源
heroku run bash
cd public/assets/ckeditor
cat config.js
並返回舊版本。 通過各種tricks
更改此設置,例如rm
cp
echo NEW_CONTENT >> NEW_FILE.js
也不起作用。
Heroku返回舊版本...
PS將CKEditor從public/assets/ckeditor
移至app/assets/ckeditor
並不能解決問題。
UPDATE
application.js內容: http : //codepad.org/ZpBruQt9
但CKEDITOR config.js
文件( public/assets/ckeditor/config.js
)不包括在application.js
。
這是非消化性資產:)
Heroku不允許您將文件存儲在其dyno中,您可能編輯的任何文件每15分鍾重置一次。 因此,直接通過rm,cp,echo更改它不會成功。 該文件必須由您的git分支跟蹤。
我可以建議使用ckeditor gem,它可以很好地與鏈輪( https://github.com/galetahub/ckeditor )一起使用,應該可以幫助您解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.