![](/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.