清理ActiveRecord字段

时间:2010-04-05 23:43:47

标签: ruby-on-rails ruby activerecord

我有模型Article它有字段title,其中一些文字可能包含一些“魔法”模式。在某些情况下,我需要处理标题中的文本和其他情况我不需要,但在最后一种情况下,我需要获得没有模式的字符串。

例如我的标题值如“Something ** very ** interesting”当我打电话给@article.title时,我需要清理字符串,如“非常有趣的东西“,但是当我打电话给@article.title_raw时,我需要获得原始字符串。

问题还在于我有工作申请,我不能做“革命”,但还有什么方法可以......

-
对不起我的英语不好。

2 个答案:

答案 0 :(得分:1)

你可以使用正则表达式

@article.title.gsub(/pattern1|pattern2|pattern3|.../, '')

IE

@article.title
#=> "Some _cool_ **text**"
@article.title.gsub(/**|_/, "")
#=> "Some cool text"

答案 1 :(得分:0)

我会在Article模型上定义名为“title_raw”和“title”的方法,并在这些方法中进行值所需的更改并将它们返回到这些函数中。像这样:

def title   title.gsub(/ ** | _ /,“”) 端

def title_raw   self.title 端