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