生产模式的Ckeditor gem问题

我正在使用CKEditor gem 。 我对application.jsroutes.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