Rails 3.1 ckeditor

5

我刚刚尝试在Rails中安装ckeditor,但似乎它没有起作用。

以下是我的操作步骤:

在Gemfile文件中添加了以下几行代码:

gem "ckeditor", "~> 3.6.0"
gem "paperclip"

然后进行了捆绑安装并运行。
rails generate ckeditor:install
rails generate ckeditor:models --orm=active_record

我在config/application.rb文件中添加了这个文件。

config.autoload_paths += %W(#{config.root}/app/models/ckeditor)

然后我尝试了这段代码:

<%= javascript_include_tag :ckeditor %>
cktext_area_tag("test_area", "Ckeditor is the best")
cktext_area_tag("content", "Ckeditor", :input_html => {:cols => 10, :rows => 20}, :toolbar => 'Easy')

然而,我得到的只是两个没有任何编辑能力的文本区域。它们看起来像普通的文本区域,我所能做的就是删除和添加文本。
我做错了什么?
4个回答

1
我和你的设置一样,遇到了同样的问题。通过与jalagrange的示例应用程序进行比较,我最终发现问题出在development.rb文件中。我不得不删除这行代码:
config.assets.debug = true

这对我很有用,之后就可以了。


1

第一步:在您的gemfile中添加gem 'paperclip'gem "ckeditor"

第二步:运行Bundle Install。

第三步:rails generate ckeditor:install --orm=active_record --backend=paperclip

第四步:config.autoload_paths += %W(#{config.root}/app/models/ckeditor) in application.rb放置在应用程序.rb文件中。

第五步:如果尚未存在,请放置mount Ckeditor::Engine => "/ckeditor"并运行db:migrate

第六步:打开application.html.erb并将此<%= javascript_include_tag 'ckeditor/ckeditor.js' %>放置在头部。

第七步:将此代码放置在application.html.erb中的页脚(在body标签上方)。

<script type="text/javascript">$(document).ready(function() {
    if ($('textarea').length > 0) {
        var data = $('textarea');
        $.each(data, function(i) {
            CKEDITOR.replace(data[i].id);
        });
    }
});</script>
步骤8: 重新启动WEBrick服务器。 就这样。

1
我在一段时间前设置时遇到了类似的问题。最终我放弃了这个宝石。问题是让 ckeditor 在资源管道中表现良好,但是根据浏览器(当然 IE 是问题)的不同,我的结果各不相同。以下是对我有效的方法:
从他们的网站下载 ckeditor 包并将其放入 public/ckeditor 中。
然后,直接包含 JavaScript 文件。
<%= javascript_include_tag "/ckeditor/ckeditor" %>
<%= javascript_include_tag "/ckeditor/adapters/jquery" %>

虽然不是非常优雅,但它能够正常工作,而且自从那时起我就没有再去碰它了。


1

在Rails 3.2中对我不起作用,ckeditor JavaScript已加载,但文本区域没有被替换。 - lyuba
在从fxposter的gem中手动复制public/javascript/ckeditor的内容后,对我有用。 - lyuba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接