Philip Hallstrom wrote in post #977290:
>> So why does this not return an undefined method error? There's no setter
>> or getter (attr_accessor) for find_by_name so it has no definition
>> anywhere. Second point is find_by_name! is not declared anywhere either
>> so we pass the name local variable into it, but it's not defined
>> anywhere. Anyone understand what's going on here? Thanks for response.
>
> ActiveRecord (or Model, not sure which in Rails 3) has some dynamic
> finder methods. If "name" is a field for that model then "find_by_name"
> gets caught and converted into the appropriate method.

As far as I can tell the dynamic finders are still implemented in 
ActiveRecord not ActiveModel. I'm not 100% sure of this however. Maybe 
because other implementers of ActiveModel may need to do their own 
custom behavior for this (if they want to behavior at all).

> See http://railscasts.com/episodes/2-dynamic-find-by-methods for more.
> Can't find a quick link to the right section of the docs, but it's
> there...

There's good docs on this in the Rails guides here:

http://guides.rubyonrails.org/active_record_querying.html#dynamic-finders

-- 
Posted via http://www.ruby-forum.com/.

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