生产模式的Ckeditor gem问题
我正在使用CKEditor gem 。 我对application.js
和routes.rb
配置如下:
# application.js //= require ckeditor/init # routes.rb mount Ckeditor::Engine => '/ckeditor'
gem在开发模式下工作正常,但是当转到生产模式时,当浏览器请求ckeditor文件夹中的js和css文件时,我得到错误404:
GET http://mydomain/assets/ckeditor/config.js?t=D2LI 404 (Not Found) GET http://mydomain/assets/ckeditor/skins/moono/editor.css?t=D2LI 404 (Not Found) GET http://mydomain/assets/ckeditor/lang/vi.js?t=D2LI 404 (Not Found) GET http://mydomain/assets/ckeditor/styles.js?t=D2LI 404 (Not Found)
请帮我修复我的ckeditor路由配置。 先感谢您。
您需要明确指示Rails在生产中预编译您的CKEditor资产:
# config/application.rb config.assets.precompile += Ckeditor.assets
然后,在生产环境中强制进行预编译:
rake assets:precompile:all
在我的情况下,我使用Rails 4并部署到Heroku。 我发现我必须首先在本地预先编译资产,然后提交/public/assets/ckeditor
目录并进行部署。 在那之后工作,虽然我真的不喜欢这个解决方案。
我遇到了一些问题,只有在Rails 5中找不到lang文件。
我必须这样做才能使它工作 – > Rails.application.config.assets.precompile += %w(ckeditor/* ckeditor/lang/*)
。
我不知道为什么第一个声明不仅仅包含lang文件夹(它适用于适配器,插件和皮肤文件夹)。 可能有bug吗?
如果您使用的是Rails 4,只需将ckeditor gem升级到最新版本(〜> 4.1.0)即可。
在这里查看更多更新https://github.com/galetahub/ckeditor