On 9 March 2011 09:19, Jatin kumar <[email protected]> wrote:
> On Tue, Mar 8, 2011 at 4:06 PM, Colin Law <[email protected]> wrote:
>> <%= f.collection_select :variety_id, Variety.all, :id, :name %>
>>
> Yes, you are right. One should not access the model from the view.
>
> Create a method in the model, say
>
>            def self.your_method_name
>                your_query
>            end
>
> and then you can access the model in your view, using the method you just
> defined in the model.

I don't see how:

  <%= f.collection_select :variety_id, Variety.all, :id, :name %>

is different from :

  <%= f.collection_select :variety_id, Variety.your_method_name, :id, :name %>

?:-/

If you say in one breath "don't access models from the view" and then
in the next create a model class method... how's that different from
using the ".all" class method?

(btw I agree that one shouldn't access the model from the view - I'm
just querying that your suggestion may not remove this MVC-breaking
practice in this instance)

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