Выпуск CKEditor gem с режимом производства

Я использую С CKEditor. Мой config для application.js и routes.rb как следующее:

# application.js
//= require ckeditor/init

# routes.rb
mount Ckeditor::Engine => '/ckeditor'

gem отлично работает в режиме разработки, но при переходе в режим производства я получил ошибку 404, когда браузеры запрашивают файлы js и css в папке ckeditor:

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. Заранее спасибо.

4 ответов


вам нужно явно направить Rails для предварительной компиляции ваших активов CKEditor в производстве:

# config/application.rb
config.assets.precompile += Ckeditor.assets

затем в рабочей среде принудительно выполните предварительную компиляцию:

rake assets:precompile:all

в моем случае я использовал Rails 4 и развертывался в Heroku. Я обнаружил, что сначала должен предварительно скомпилировать активы локально, а затем зафиксировать /public/assets/ckeditor каталог и развертывание. Работал после этого, хотя мне не очень нравится это решение.


у меня были проблемы только с файлами lang, которые не были найдены в Rails 5.

Я должен был сделать это, чтобы заставить его работать ->Rails.application.config.assets.precompile += %w(ckeditor/* ckeditor/lang/*) на assets.rb.

Я не знаю, почему первое объявление не просто включает папку lang в первую очередь (она работает для адаптеров, плагинов и папок скинов). Может, жучок?


просто обновите драгоценный камень ckeditor до последней версии (~>4.1.0), если вы используете Rails 4.

проверить обновления здесь https://github.com/galetahub/ckeditor