我已经为我的rails_admin集成了CKEditor。在edit
页面中,我添加了CKEditor并编写了文本。
在我的模型显示页面中,它向我显示:
我的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
部分。它告诉我这个:
我的html代码由CKEditor创建,编写得很好,但我的浏览器并不认为它是html代码,并且有引号。这些引号是否会影响我的浏览器以将其显示为裸文本?
答案 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 %>