我有一个Project模型,它有一些文本属性,一个是摘要。我有一些在摘要中有html标签的项目,我想将其转换为纯文本。我有这个方法,有一个正则表达式,将删除所有的HTML标签。从rails中的属性中删除所有html标记
def strip_html_comments_on_data
self.attributes.each{|key,value| value.to_s.gsub!(/(<[^>]+>| |\r|\n)/,"")}
end
我也有一个before_save过滤
before_save :strip_html_comments_on_data
的问题是,html标签仍然存在保存项目之后。我错过了什么?
而且,是否有一种非常简单的方法可以在所有模型中调用该方法?
谢谢,
尼古拉斯鹤伊萨萨
我不是一个红宝石用户,但似乎没有任何被分配在那里出现。你正在计算一个带有这些东西的字符串,但不会在任何地方保存。 – Yuliy 2010-04-05 00:21:42
@Yuliy红宝石有可变的字符串! (gsub!是gsub - ick!的可变形式!)!!! (为好措施)! (+1让我更难看) – 2010-04-05 04:55:51