2013-07-14 52 views
8

我正在使用CKEditor gem。我对application.js和配置routes.rb都像如下:Ckeditor珠宝问题与生产模式

# application.js 
//= require ckeditor/init 

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

创业板工作正常的发展模式,而是移动到生产模式的时候,我得到了错误404,当浏览器请求在CKEditor的文件夹中的JS和CSS文件:

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路由配置。先谢谢你。

回答

8

你需要明确直接Rails的预编译的CKEditor资产生产:

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

然后,您的生产环境中,强制预编译:

rake assets:precompile:all 
2

在我来说,我是使用Rails 4并部署到Heroku。我发现我必须先在本地预先编译资产,然后提交/public/assets/ckeditor目录并进行部署。之后开始工作,虽然我并不喜欢这个解决方案。

2

只要升级CKEditor的宝石的情况下,最新的版本(〜> 4.1.0),我遇到了一些麻烦,只有郎文件没有在Rails 5中找到。

我必须这样做才能使它工作 - >Rails.application.config.assets.precompile += %w(ckeditor/* ckeditor/lang/*)assets.rb

我不知道为什么第一个声明不仅仅包含lang文件夹(它适用于适配器,插件和皮肤文件夹)。错误可能?

+1

你可以试试这个:Rails.application.config.assets.precompile + =%w(ckeditor/**/*) –