数据清理和数据库存储

时间:2011-02-17 08:25:15

标签: ruby-on-rails ruby database ruby-on-rails-3

如果我有以下数据,那么数据库存储方面的最佳选择是什么。

Here is text<br><br>Here is some more text

我看到我有3个选项:

  • 按原样存储在DB中,然后在运行时解码:<p>hello</p>
  • 解码然后存储在DB中:<p>hello</p>
  • 完全剥离标签:Hello

上述任何一个都没有任何重大的“禁忌”,只是寻求一些关于最佳实践的建议。另外值得注意的是,我完全无法控制收到的数据。

2 个答案:

答案 0 :(得分:1)

根据您的要求,我建议剥离标签或存储未编码的版本。

如果您不需要标签,则可以剥离它们并存储纯文本。

如果您需要保留标签和格式,那么保存未编码的版本会更容易。处理真实标签更简单。 此外,编码输出是一种观点。实际上,它严格依赖于您打印字符串的位置。

例如,在控制台中,标签不会产生任何问题。只需要将字符串打印到HTML视图中即可。但幸运的是,Rails会为您处理输出清理,因此您无需将清理后的版本存储在数据库中。

答案 1 :(得分:0)

将数据转换为规范形式,然后存储。也就是说,您应该存储<p>Hello</p>Here is text&lt;br&gt;&lt;br&gt;Here is some more text(尽管我怀疑这是您想要的解码为您的示例)。

然后,您可以搜索而不必担心它的编码方式(例如&Ouml;&#214;&#xD6;),并将其编码为适当的格式用于在渲染上显示。