Joining three tables

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

Can anybody help me ?

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.

The show action in the Computer controller is written like this :
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

Thanks I’ll try it right now. Thank you for your help.

and I would name the class EventType for me it seems more logical and
easier to read but that is just me.