Интеграция 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 ]

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

У меня было подобное при попытке объединить несколько таблиц стилей и javascripts в одну в приложении на Rails 3.1 без конвейера ресурсов, используя stylesheet_link_tag и javascript_include_tag с опцией cache. В этом случае файлы не всегда загружаются в правильном порядке, и пути к другим файлам ckeditor, таким как файл конфигурации "config.js" и языковые файлы, такие как "lang / en.js", определены недостаточно. Это означает, что вы получите другие дополнительные ошибки «NetworkError: 404 Not Found» при их извлечении, а файлы конфигурации и языковые файлы недоступны, что приводит к дальнейшим фатальным ошибкам, таким как упомянутая выше, Uncaught TypeError: Cannot read property 'options' of undefined.

Использование тайм-аута Javascript не помогло, и установка CKEDITOR_BASEPATH тоже не помогла, по крайней мере, если вы определили его в application.js непосредственно перед загрузкой редактора, как я (может быть, порядок имеет значение здесь? ). Чтобы заставить его работать, можно извлечь javascript ckeditor из общего кэшированного файла (или вынуть его из конвейера ресурсов) и загрузить его отдельно после остальных файлов с помощью

<%= javascript_include_tag 'ckeditor/ckeditor.js' %>
0 голосов
/ 21 марта 2012

Есть много недавних сообщений на эту тему, но ни один из них (включая определение BASEPATH, как предложено выше) не сработал для меня, поэтому я подумал, что это может быть полезно для некоторых людей.

Я решил проблему, скопировав файлы из каталога с путем

~ / .rvm / gems / ruby-1.9.3x / gems / ckeditor-3.7.0.rc3 (символ 'x' зависит от приложения, ваш будет другим)

в каталог /assets/javascript.

Затем я смог отредактировать конфигурацию панели инструментов в файле config.js, чтобы у редактора были нужные параметры. Это прекрасно работает для меня, так как я всегда хочу одни и те же параметры в этом приложении.

UPDATE

Теперь он работает с файлом config.js в конвейере ресурсов, где он находится, но со сбросом кода ckeditor, находящегося в моем наборе гемов .rvm. Я думаю, что был конфликт, потому что я пытался переопределить их панель инструментов, названную «Легко». Когда я создал новую панель инструментов и установил ее как активную, конвейер, кажется, работает нормально.

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