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.

Reply via email to