生产模式的Ckeditor gem问题

时间:2013-07-14 04:39:32

标签: ruby-on-rails ruby ckeditor

我正在使用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路由配置。提前谢谢。

4 个答案:

答案 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)。

在此处查看更多更新https://github.com/galetahub/ckeditor