在Rails中存储包含粗体,项目符号和不同大小的格式化文本主体需要什么?
首先,text
字段类型是否能够保存此内容?
如果是这样,我需要做的就是使用富文本编辑器进行编辑,并使用<pre>
进行显示吗?
答案 0 :(得分:5)
是的,text
类型用于存储字符串。
通常的方法是使用生成HTML的Javascript富文本编辑器。您将原始HTML直接保存到数据库,然后在显示它时对其进行清理。这是为了防止人们将Javascript和其他恶意软件输入文本区域,当其他访问者查看他们的输入时,这些区域会被执行。
Rails 3默认会清理您的输出,因此所有 HTML都将被转义。您需要调用<%= @model.rich_text.html_safe %>
来跳过此清理,或者(更好!)调用<%= sanitize(@model.rich_text, :tags => %w(b i p)) %>
,并传入明确的允许标记列表。
我没有使用Heroku的经验,但我无法想象它会有任何不同。