On 7 February 2012 11:41, Tony N. <[email protected]> wrote:
> Hi I really need some help. I'm new on rails and I need to join three
> tables in one view.
>
> I have three models
> class TypeEvent < ActiveRecord::Base
You want has_many :events here.
> end
> class Event < ActiveRecord::Base
> belongs_to :type_event
> belongs_to :computer
> end
>
> class Computer < ActiveRecord::Base
> belongs_to :room
> has_many :events, :dependent => :delete_all
> end
> The show action in the Computer controller is written like this :
> def show
> @computer = Computer.find(params[:id])
> respond_to do |format|
> format.html # show.html.erb
> format.xml { render :xml => @computer }
> end
> end
> I would like to display the following fields in the show.html.erb view
> type_events.name from the type_events table
> events.information from the type_events table
> events.state , events.created_at , envents.updated_at from the events
> table
@computer.events will give you all the events for that computer so you
can loop through those. Something like
@computer.events.each do |event|
then you can display the attributes for each event. The type_event
for the event is then event.type_event so you can access its
attributes also.
Colin
--
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.