Is passing model objects to a view ok (i.e. best practice)?


#1

Hi,

A Rails Best Practice question:

Question - Is passing model objects (or a collection of model object)
from the controller to a view best practice is rails? i.e. or is one
supposed to create the most minimal set of data all ready to display
in the form of array/hashes and pass this to a view? (the latter
approach adds a bit more plumbing work)

Thanks


#2

Hmm, not sure if I understand that right.
Assume:

@articles = Article.find(:all)

So I want to display those articles. (And I would
just use this @articles in the views)
Don’t see, how I could “split” that an further.
Sure, I could create and array and assign every article to
it. Would be nonsense I think.

Or say, I want to display only the article names.
Then I could collect those into an array. That would
make slightly more sense, but I wouldn’t do it anyway.
Because:

  • One more step, extra work without any extra use
  • Very likely, that soon enough I want to display more data.
  • Would make the code difficult to read.
  • Nobody does it that way as far as I know. Never seen a piece
    of code in any tutorial or oss project doing it.

#3

ok - yes that makes sense to me for Rails too (just checking, as I’ve
had a Java background)