Rails_admin显示由CKEditor以html格式编写的文本

时间:2015-04-09 07:32:44

标签: ruby-on-rails ruby ckeditor rails-admin

我已经为我的rails_admin集成了CKEditor。在edit页面中,我添加了CKEditor并编写了文本。

在我的模型显示页面中,它向我显示: enter image description here

我的show代码:

show do
  include_all_fields

end

我需要添加什么,以显示我的文字,写在CKEditor上,能够在rails_admin中显示?

====更新====

我在config.assets.precompile += %w( ckeditor/* )添加了production.rb and development.rb代码。然后我运行rake资产预编译任务并重新启动我的服务器。它仍然在我上面的图像中显示相同的内容。

即使能够以html格式显示文本,它也会产生新的问题。正如您在图片中看到的,有img标记,其src显示的不是我上传图片的完整目录。如果我需要将这个格式化的文本作为JSON发送到我的手机?

====更新====

我已打开浏览器的代码检查器,以查看我页面的description部分。它告诉我这个: browsers code inspector

我的html代码由CKEditor创建,编写得很好,但我的浏览器并不认为它是html代码,并且有引号。这些引号是否会影响我的浏览器以将其显示为裸文本?

4 个答案:

答案 0 :(得分:4)

我找到了解决方案。我不知道是不是好:

show do
  include_all_fields

  field :description do
    pretty_value do
      value.html_safe
    end
  end
end

答案 1 :(得分:0)

也许您的CKEditor配置startupMode已确定为“来源”。如果是这样,请删除它。

答案 2 :(得分:0)

在资产预编译期间,Ckeditor gem会将来自vendor / assets / ckeditor文件夹的源代码编译为特殊资源包,如下所示:

$ ls public/assets/ckeditor/
application.js
application.js.gz
application-1f3fd70816d8a061d7b04d29f1e369cd.js
application-1f3fd70816d8a061d7b04d29f1e369cd.js.gz
application-450040973e510dd5062f8431400937f4.css
application-450040973e510dd5062f8431400937f4.css.gz
application.css
application.css.gz
ckeditor-b7995683312f8b17684b09fd0b139241.pack
ckeditor.pack
filebrowser
images
plugins
skins
lang
显然,普通的ckeditor.js并不存在。为了提供必要的源文件,我必须将它们显式添加到config/environments/production.rb中的生产环境的预编译数组中:

> config.assets.precompile += %w( ckeditor/* )

然后run rake assets:precompile

答案 3 :(得分:0)

我找到了另一种解决方案,对我来说它工作得很好:

制作你的config / initializers / rails_admin.rb

config.model Post do
    edit do
      field :title, :text do 
        label 'title'
      end
      field :content, :ck_editor, :text do
        label 'content'
      end
    end
  end

和你的索引/节目

<%= raw @post.content %>