簡體   English   中英

Heroku Ruby on Rails應用程序不會更新公共/資產目錄中的未消化資產

[英]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更新了一個文件,但是當我執行以下操作時,它也不顯示更改:

  • 通過CURL提取文件
  • 在Chrome隱身窗口中查看源代碼(隱身->“避免”緩存)

我提交了更改,並基於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.

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