繁体   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