在MySQL和Heroku上为Rails设置富文本支持

时间:2011-03-15 10:54:44

标签: mysql ruby-on-rails ruby-on-rails-3 heroku richtext

在Rails中存储包含粗体,项目符号和不同大小的格式化文本主体需要什么?

首先,text字段类型是否能够保存此内容?

如果是这样,我需要做的就是使用富文本编辑器进行编辑,并使用<pre>进行显示吗?

1 个答案:

答案 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的经验,但我无法想象它会有任何不同。