繁体   English   中英

保留由CK编辑器在Rails中创建的文本的样式

[英]Preserve styling for text created by CK Editor in Rails

我已通过galetahub / ckeditor gem将CK编辑器成功集成到我的Rails 4应用程序中。 我在应用程序中使用CK编辑器来创建模型的帖子。 CK编辑器在创建帖子时工作正常,但创建文本后显示为纯html代码,而不是我通过CK编辑器创建的样式化的html代码。

文章/ 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并没有像创建时那样显示。

CKEditor被称为WYSIWYG编辑器 ,这意味着它将纯HTML存储在您的数据库中

您的系统可能有两个问题:

  1. CKEditor没有将HTML正确保存到数据库中
  2. 您没有在应用程序中正确调用HTML代码

D B

我将从调查数据库开始-您的CKEditor是否保存HTML?

在您的posts / content列中,您应该具有一系列具有有效html语法的记录。 如果没有,您的问题将出在如何从CKEditor中保存数据


视图

raw().html_safe基本上将Rails变量作为实际的HTML处理(意味着<p>将呈现为段落等)

如果您看到代码输出为“裸”(您可以看到<p>等),那么我想问题可能出在您提交的代码类型上(您提到了blockquotes)

您可以使用输出的代码来更新我们吗?

CKEditor将默认过滤内联样式和javascript。

最简单的解决方案是转到config.js并设置:

config.allowedContent = true;

参考: CKEditor自动从div中剥离类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM