我正在使用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路由配置。提前谢谢。
答案 0 :(得分:9)
您需要明确指示Rails在生产中预编译您的CKEditor资产:
# config/application.rb
config.assets.precompile += Ckeditor.assets
然后,在您的生产环境中,强制进行预编译:
rake assets:precompile:all
答案 1 :(得分:2)
在我的情况下,我使用Rails 4并部署到Heroku。我发现我必须首先在本地预编译资产,然后提交/public/assets/ckeditor
目录并进行部署。在那之后工作,虽然我真的不喜欢这个解决方案。
答案 2 :(得分:2)
我遇到了一些问题,只有在Rails 5中找不到lang文件。
我必须这样做才能让它正常工作 - Rails.application.config.assets.precompile += %w(ckeditor/* ckeditor/lang/*)
中的> assets.rb
。
我不知道为什么第一个声明不仅仅包含lang文件夹(它适用于适配器,插件和皮肤文件夹)。可能有错误吗?
答案 3 :(得分:1)
如果您使用的是Rails 4,只需将ckeditor gem升级到最新版本(〜> 4.1.0)。