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
-~----------~----~----~----~------~----~------~--~---