> I am puzzlin for quite a while on this. I use find_by methods to  
> retieve
> AR objects. In some cases find_by will return nil if there is no  
> match.
> However I would like to have find_by return a default object instead.
>
> Is there a way to overload that particular find_by method? Or whats  
> the
> best way to implement it.

My first thought is that overloading this is very dangerous as you  
completely lose the ability to hop into the console and run say  
User.find_by_login('philip') and *get* the 'philip' user or nil.  I  
could see some nasty side affects here.

If it were me I'd either make it explicit in the code  
"Model.find_by_foo() || Model.get_default()" or extend AR to support  
find_by_xxx_or_default and then call it that way.  Don't forget though  
that "xxx" might also be "xxx_and_yyy_and_zzz".

-philip

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