2014-02-12 2 views
2

Я успешно интегрировал редактор CK в своем приложении Rails 4 с помощью galetahub/ckeditor gem. Я использую CK Editor в своем приложении для создания Post, который является моделью. Редактор CK отлично работает при создании сообщения, но после создания текста он отображается как простой HTML-код, а не как стильный, который я создал через CK Editor.Сохранение стиля для текста, созданного редактором CK в Rails

сообщений/new.html.erb

<div class="field"> 
    <%= f.label :content %><br> 
    <%= f.cktext_area :content %> 
</div> 

сообщений/show.html.erb

<p> 
    <strong>Content:</strong> 
    <%= @post.content %> 
</p> 

Я также устал raw(@post.content) и @post.content.html_safe но BLOCKQUOTE не появляются, как это при создании ,

ответ

3

CKEditor известен как WYSIWYG editor, что означает, что она сохраняет чистый HTML в вашей БД

Есть две проблемы, которые система может иметь:

  1. CKEditor не сохранение HTML в базе данных правильно
  2. Вы не вызывая HTML код правильно в вашем приложении

DB

Я бы начал с поиска в базе данных - это ваш CKEditor, сохраняющий HTML?

В столбце posts/content вы должны иметь серию записей с допустимым синтаксисом html. Если нет, то ваша проблема будет с тем, как вы сохраняете данные из вашего CKEditor


Посмотреть

raw() и .html_safe в основном обрабатывать переменные Rails как фактическое HTML (означающие <p> будет оказана, как абзац и т. д.)

Если вы видите, что код выводится «голым» (вы можете видеть только <p> и т. д.), я бы предположил, что проблема связана с типом кода, который вы отправляете (вы упомянули блок-коды)

Не могли бы вы обновить нас кодом, который выводится?

0

CKEditor будет фильтровать встроенный стиль и javascript по умолчанию.

Самым простым решением будет к config.js и установка:

config.allowedContent = true; 

см: CKEditor automatically strips classes from div

Смежные вопросы