Интеграция CKEditor с Rails 3.2 - PullRequest
5 голосов
/ 14 марта 2012

Аналогично Интеграция CKEditor с Rails 3.1 Asip Pipline

Я пытаюсь интегрировать ckeditor с моим rails 3.2 приложением.

У меня есть все файлы ckeditor, скопированные в /app/assets/javascripts/ckeditor/*.

У меня есть следующие строки в моем application.js, и application.js включен в мой файл макета:

//= require jquery
//= require jquery_ujs
//= require ckeditor/ckeditor
//= require_self

Взятые из ответа на Интеграция CKEditor с Rails 3.1 Asip Pipline

Я могу понять, что мне нужно добавить что-то вроде:

config.assets.precompile += your_files

кмой development.rb файл, так что все файлы ckeditor прекомпилируются при загрузке приложения.

Хотя я пробовал несколько путей, но ничего не получалось, и я получаю следующую ошибку:

error on page view and the text area is not shown at all

Может кто-нибудь подсказать, пожалуйста, правильное регулярное выражение, включающее все файлы для прекомпиляции, пожалуйста?

Ответы [ 12 ]

16 голосов
/ 16 марта 2012

Я столкнулся с той же проблемой и нашел решение. Перейдите по следующей ссылке: http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Specifying_the_Editor_Path

<script type="text/javascript">
var CKEDITOR_BASEPATH = '/assets/ckeditor/';
</script>
<%= javascript_include_tag "application" %>

Вам не нужно ничего настраивать в config.assets.precompile.

4 голосов
/ 06 ноября 2012

rails 3.2 fix:

  1. в assets / javascripts / application.js
    ... blablabla ...
    //= require ckeditor_fix        #- add this line
    //= require ckeditor/init
    //= require_tree .
  2. в assets / javascripts создают новый файл ckeditor_fix.js
    var CKEDITOR_BASEPATH = '/assets/ckeditor/';
2 голосов
/ 09 февраля 2014

Наконец, простое рабочее решение.

Загрузите CKEditor Zip файл , извлеките файлы и поместите их в подкаталог «javascripts / ckeditor », добавьте основной JS-файл в макет1015 * Источник

2 голосов
/ 22 декабря 2012

Обратите внимание, что многие из этих ответов относятся к гему ckeditor (https://github.com/galetahub/ckeditor/), а не только к проекту ckeditor (http://ckeditor.com), особенно там, где вы видите ссылку на файл ckeditor / init.js.

Существуют и другие жемчужины для интеграции ckeditor, включая рельсы ckeditor (https://github.com/tsechingho/ckeditor-rails), которые являются более легким и простым решением.

См. Также Интеграция CKEditor с Rails 3.1 Asip Pipline

2 голосов
/ 30 мая 2012

Я использовал это руководство для добавления ckeditor в activeadmin в Rails 3.2 с включенным конвейером ресурсов: https://github.com/gregbell/active_admin/wiki/CKEditor-integration

Это сработало как шарм.

Единственное, что я сделал, это добавил эту строку в мою среду:

config.assets.precompile += ['active_admin.css', 'active_admin.js', 'ckeditor/init.js']
1 голос
/ 13 октября 2013

ШАГ 1: Добавьте gem 'paperclip' и gem "ckeditor" в ваш гемфайл.

ШАГ 2: Bundle Install.

ШАГ 3: rails generate ckeditor:install --orm=active_record --backend=paperclip

ШАГ 4: Место config.autoload_paths += %W(#{config.root}/app/models/ckeditor) in application.rb

ШАГ 5: Место mount Ckeditor::Engine => "/ckeditor" если нетпредставить уже и запустить db:migrate

ШАГ 6: Открыть application.html.erb и поместить это <%= javascript_include_tag 'ckeditor/ckeditor.js' %> в заголовок.

ШАГ 7: Поместите его в нижний колонтитул (над тегом body) в application.html.erb

<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 голос
/ 21 октября 2012

Это всего лишь дополнение.Я попробовал все это, и у меня ничего не вышло, поэтому я изменил свой гем ckeditor на gem 'ckeditor'

И добавил это в свое приложение. Js

//= require ckeditor/init

Затемпредварительно скомпилировав свои ресурсы, я добавил это в свой файл production.rb

config.assets.precompile += Ckeditor.assets

, и все это работало как магия

1 голос
/ 20 октября 2012

Проблема ckeditor с rails 3.2 заключается в том, что путь к библиотеке javascript не загружается для производственной среды, поэтому нам нужно правильно изменить путь. Я сделал следующие шаги:

В application.html.erb

 <%= javascript_include_tag "application" , '/assets/ckeditor/ckeditor.js', '/assets/ckeditor/init.js'%>

В файле production.rb

 config.assets.precompile += %w(ckeditor/init.js)

Управление активами

rake assets:precompile:all

Эти шаги работали для меня с рельсами версии 3.2.8

0 голосов
/ 29 сентября 2013

Есть похожая проблема. Для меня это было исправлено переопределением задачи прекомпиляции по умолчанию (я использовал Rails 4 и CkEditor 4).

  1. Добавить в application.rb config.assets.precompile += ['ckeditor/*']
  2. В приложении. Js //= require ckeditor/init
  3. Создать файл lib/tasks/precompile_hook и вставить текст из этого ответа Прекомпиляция обработчик
0 голосов
/ 22 августа 2012

Я боролся с этой проблемой в течение нескольких часов, но проблема была не в CKEditor, а в моем коде. Я включил сценарий ckeditor.js в свое частичное представление, которое было обработано с помощью AJAX , и да, как вы уже догадались, не работало. После того, как я переместил сценарий, в том числе внутри мастер-макета (_Layout), проблема была решена . Конечно, это случилось со мной во время работы в ASP.NET MVC . Для других веб-фреймворков у меня нет решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...