Try :include => :user when you request the photos, and that will grab the user in the same request as the photo.
Walter On Sep 17, 2011, at 8:49 PM, maskiran wrote: > Hi > I am new to rails and have a very simple scenario like mentioned here > > table: photos > id:int > user_id:int > > table: users > id:int > email:string > > In the photos model i said it belongs_to :user > > When I access the photos.all, I can get the user email by > photos.first.user.email > > If I want to display 100 photos on a page, the email is accessed as > above it goes to the database at that time to get the value > > 1) Am I violating MVC here as the database query is being sent (though > not by me directly) in the view? > 2) Since the query goes 100 times in the view, should there be a > better way to get all the data at once in the controller/model and > pass all that to the view. > > I am coming from PHP world where I used to write queries and there I > used to do a join on photos table and got all the data at once. Is > this join costlier than getting data in each query as above > > Thanks > Kiran > > -- > 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. > -- 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.

