This is interesting. I don't think Rails should acts that way. It should only 
iterate through the collection only if :collection => is provided.

Can you open the lighthouse ticket for this one?


Thanks,

Prem

On 1 ?.?. 2553, at 1:28, James MacAulay wrote:

> This code does not work the same way as it did in 2.x:
> 
> render :partial => "things", :object => ['foo', 'bar', 'baz']
> 
> In 2.x, the "things" partial would be rendered once with a local
> variable called "things" storing the given array.
> 
> In 3.0.0 (and edge), the Action View assumes that you really
> meant :collection => ['foo', 'bar', 'baz'], so it iterates through the
> array and renders the partial once with each element. It will do this
> for any object which responds to to_ary.
> 
> I really think this is a case of Rails being too clever for its own
> good. The difference in behaviour between the :object and :collection
> options is large enough that this makes for a big break in
> expectations. If someone wants the :collection behaviour, they should
> use :collection.
> 
> (FWIW, an easy workaround is to pass the array into :locals, which
> people should probably be doing for arrays 99% of the time anyway, but
> silently assuming they meant :collection is not the way to encourage
> that behaviour.)
> 
> The relevant change to the code is more than a year old now (commit
> d0301e1) but I couldn't find any discussion about the change and the
> tests don't seem to assert anything about it either way. If it's
> really the behaviour we want, then it should be tested and documented.
> I can make a patch in either case.
> 
> -James
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Core" 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-core?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" 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-core?hl=en.

Reply via email to