On Tue, Jul 20, 2010 at 4:46 AM, Colin Law <clan...@googlemail.com> wrote:
> On 19 July 2010 22:09, Frederick Cheung <frederick.che...@gmail.com> wrote:
>>
>>
>> On Jul 19, 9:26 pm, Leonardo Mateo <leonardoma...@gmail.com> wrote:
>>
>>> When I do the following in script/console:
>>> s = LineItem.last.section (s.id is 21, as is LineItem.last.section_id as 
>>> well)
>>> s.target
>>>
>>> I get the Section instance, and the logger shows no query to the
>>> targets table. However, if I do:
>>> s = Section.find(21)
>>> s.target
>>>
>>> I get the right Target instance.
>>>
>>> Even more strange is that if I do:
>>> s = LineItem.last.section
>>> s.target.target (twice the target message)
>>>
>>> I get the right Target instance.
>>>
>>
>> If you do some_line_item.section what you get back isn't a section but
>> an association proxy. If you do anything that actually requires the
>> section object, active record will load it and send the method calls
>> to it. Unfortunately for you the method on association proxy that
>> returns the actual object for the association is called target.
Thanks a lot, Frederick. Just the words I needed.

>
> See http://wiki.rubyonrails.org/rails/pages/ReservedWords for more
> words you can't use.
Thanks Colin!, great tip! I didn't know this.


-- 
Leonardo Mateo.
There's no place like ~

-- 
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-t...@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