One more thing - if your real code is searching for things in
descriptions, you may be
better off with a full-text indexer like Ferret, Sphinx or Solr. At
least in MySQL, a regexp
condition will have to scan every row to find matches, which can get
slow in a hurry.

--Matt Jones


On Jan 15, 8:42 pm, "Greg Hauptmann" <greg.hauptmann.r...@gmail.com>
wrote:
> 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 <phlip2...@gmail.com> 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
>
> --
> Greghttp://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 rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to