Выпуск 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