Rails 3.1.2 ckeditor供应商脚本

时间:2011-11-22 16:57:04

标签: ruby-on-rails-3.1 ckeditor

我遇到与this question中列举的问题类似的问题,除了我没有使用ckeditor gem。我正在直接使用CKEditor脚本。

我已将它们直接提取到vendor/assets/javascripts/ckeditor中,并将这些包含的节添加到相应的javascript清单文件中:

//= require ckeditor/ckeditor
//= require ckeditor/adapters/jquery

在开发中,它完全正常 - 我假设因为Rails直接为资产提供服务。在生产中(当我将本地开发服务器切换到生产环境时),编辑器不会加载(只是空白空间,如上面链接的问题),我得到如下的加载错误:

Load errors

这些路径显然是错误的,我现在还不确定它是如何在开发中工作的。

有没有人让这个设置正常工作,或者我应该把它搞砸,就像其他人似乎一样使用宝石?

1 个答案:

答案 0 :(得分:4)

经过几个小时的修补,我发现我的问题是双重的。

首先,您可以设置一个CKEditor全局选项,告诉它基本安装路径所在的位置。为了设置它,我修改了我的application.js以添加这两行:

//= require_self
CKEDITOR_BASEPATH = "/assets/ckeditor/";

其次,我的环境配置未设置为预编译几个CKEditor文件。因此,在config/environments/production.rb中,我将ckeditor/config.jsckeditor/contents.css添加到了我传递给config.assets.precompile的文件数组中。

编辑:我不得不在预编译列表中添加更多文件,而不仅仅是这里列出的文件。全面的列表会产生误导,因为大多数文件来自自定义主题。加载Chrome Inspector或Firebug并查看仍然返回404的资产列表,将其添加到数组中,重新编译,并查看是否修复了它。