我使用activeadmin和active_admin_editor创建了一个包含rails的博客。 Blog表很简单:
title:string
content:text
当我添加博客帖子显示html标签时,我需要实际解析标签,以便博客帖子实际上看起来像一个真正的HTML页面。
我还尝试过迁移,将内容列更改为“&text;'而不是字符串...没有帮助。
这就是我的帖子现在的样子:
我做错了什么或错过了什么来让html标签正确呈现?
**更新** 在建议使activeadmin视图工作之后,我仍然在用户视图中留下了原始html(非管理员用户只能查看博客)
答案 0 :(得分:6)
您可以使用以下内容将ActiveAdmin页面自定义为admin / post.rb:
ActiveAdmin.register Post do
# ....
index do
# ...
column (:content) { |post| raw(post.content) }
# ...
end
show do
# ...
row (:content) { |post| raw(post.content) }
# ...
end
end
对于您自己的观点(例如:posts / show.html.erb),只需使用:
raw(@post.content)
而不是
@post.content
在您自己的视野中。 '原料'将显示内容"原样",而不转义HTML(默认情况下Rails正在执行)。
答案 1 :(得分:0)
我发现寻找解决方案的正确答案现在已经过时了。以下代码可以帮助您:
ActiveAdmin.register Post do
# ....
index do
# ...
column :content do |post|
raw(post.content)
end
# ...
end
show do
# ...
row :content do |post|
raw(post.content)
end
# ...
end
end