thanks - I'm on mysql so I'm going to try a named_scope like below (haven't
run/tested it yet):

  named_scope :regex_matched, lambda { |regex_str|
    { :condition => [" description REGEXP '?' " , regex_str] }
  }


On Fri, Jan 16, 2009 at 11:37 AM, Phlip <[email protected]> wrote:

>
> Greg Hauptmann wrote:
> > Hi,
> >
> > Is there any way of extending ActiveRecord to do something like:
> > <model_object>find_by_description_regex(/.*find this.*)   ??
> >
> > That is ActiveRecord support for find via use of regular expressions?
> > Perhaps a plugin?  Or is there a reason this doesn't exist?
>
> ActiveRecord's job is to turn a common Ruby DSL into a big SQL statement.
>
> Anything that common back-ends can't do, ActiveRecord can't do.
>
> Google [mysql regular expressions] to see if someone has added that to your
> database back-end. Then use find_by_sql (and scrub any tainted data
> yourself, to
> prevent SQL injection attacks like this one: http://xkcd.com/327/ )
>
> Until then, just use LIKE:
>
>   part = 'A'
>   Foo.find_all_by_group_id(group_id,
>           :conditions => ['name LIKE ?', part + '%' ] )
>
> The % is a wildcard for any length of string - like * in a fileglob match.
>
> --
>    Phlip
>
>
> >
>


-- 
Greg
http://blog.gregnet.org/

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to