如何在ActiveRecord开头找到没有'http://'的所有字符串?

时间:2011-01-27 12:56:40

标签: ruby-on-rails activerecord

我的Object有一个属性或url

>> Object.url
=> "http://www.sweetObject.org"

但有些网址在他们面前没有http://

一个虔诚的程序员如何在ActiveRecord中创建一个可以在字符串开头找到没有http://的所有url字符串的查找?

我的尝试

Object.find(:all, :conditions => ["url = ?", match(/http:\/\//) ] )

..可怕的失败。

2 个答案:

答案 0 :(得分:3)

为何选择正则表达式?

Object.find(:all, :conditions => ["url not like ?", "http://%" ] )

答案 1 :(得分:1)

我不相信Active(Model | Record)具有基于正则表达式的查找器的抽象。我能想到的最好的是(rails-3,ruby-1.9.2)

Object.where('url NOT REGEXP ?', '^http://')