我已经通过galetahub/ckeditor gem在我的Rails 4应用程序中成功集成了CK Editor。我在我的应用程序中使用CK Editor来创建一个模型Post。 CK Editor在创建帖子时工作正常,但在创建文本后显示为纯HTML代码,而不是我通过CK编辑器创建的样式。
文章/ 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
但是块引用并没有像创建时那样出现。
答案 0 :(得分:3)
CKEditor被称为WYSIWYG editor,这意味着它将纯HTML存储在您的数据库中
您的系统可能存在两个问题:
<强> DB 强>
我首先要查看数据库 - 您的CKEditor是否保存了HTML?
在posts
/ content
列中,您应该拥有一系列具有有效html语法的记录。如果没有,您的问题将出在如何从CKEditor中保存数据
查看强>
raw()
和.html_safe
基本上将Rails变量处理为实际HTML(意味着<p>
将呈现为段落等)
如果您看到“裸”输出的代码(您可以看到<p>
等),我会想到问题将出在您提交的代码类型上(您提到了块引用)
您能否使用正在输出的代码更新我们?
答案 1 :(得分:0)
CKEditor默认会过滤内联样式和javascript。
最简单的解决方案是转到config.js并设置:
config.allowedContent = true;