Thanks Colin. That solved it, although I swear I already tried to do
it like that!

Your help is much appreciated.

On Oct 25, 7:52 am, Colin Law <[email protected]> wrote:
> On 24 October 2011 23:03, Graham Dawe <[email protected]> wrote:
>
>
>
>
>
>
>
>
>
> > Philip Hallstrom wrote in post #1028174:
>
> >> :foreign_key
> >> Specify the foreign key used for the association.
> >> :primary_key
> >> Specify the method that returns the primary key used for the
> >> association. By default this is id.
>
> > Hi Philip,
>
> > Thanks for your reply. I have tried to use the :foreign_key with the
> > following results. (fyi fixtures has changed to matches). The matches
> > table has "home_team_id" and "away_team_id" columns.
>
> > match.rb
>
> > belongs_to :home_team, :foreign_key => 'home_team_id'
> > belongs_to :away_team,  :foreign_key => 'away_team_id'
>
> You need to use :class_name here so that it knows what the foreign
> keys are pointing to.
>
>
>
> > team.rb
>
> > has_many :home_matches, :class_name => 'Team'
> > has_many :away_matches, :class_name => 'Team'
>
> > matches_controller.rb
>
> > @matches = Match.all
> > @teams = Team.all
>
> > matches.html.erb
>
> > <% @matches.each do |match| %>
> > Home <%= match.home_team %>
>
> You probably want match.home_team.name or something like that, you are
> trying to display the whole team object.
>
> Colin
>
>
>
>
>
>
>
>
>
> > Away <%= match.away_team %><br>
> > <% end %>
>
> > I get the following when I load matches/index.html.erb ...
>
> > Home #<Match:0x103cfafe0> Away #<Match:0x103cee948>
> > Home #<Match:0x103cebf18> Away #<Match:0x103ce8278>
>
> > The dev/log reads the following
>
> > Started GET "/matches" for 127.0.0.1 at Mon Oct 24 23:00:54 +0100 2011
> >  Processing by MatchesController#index as HTML
> >  Match Load (0.5ms)  SELECT "matches".* FROM "matches"
> >  Team Load (0.4ms)  SELECT "teams".* FROM "teams"
> >  Match Load (0.3ms)  SELECT "matches".* FROM "matches" WHERE
> > "matches"."id" = 1 LIMIT 1
> >  Match Load (0.2ms)  SELECT "matches".* FROM "matches" WHERE
> > "matches"."id" = 2 LIMIT 1
> >  CACHE (0.0ms)  SELECT "matches".* FROM "matches" WHERE "matches"."id"
> > = 2 LIMIT 1
> >  Match Load (0.2ms)  SELECT "matches".* FROM "matches" WHERE
> > "matches"."id" = 3 LIMIT 1
> >  Match Load (0.2ms)  SELECT "matches".* FROM "matches" WHERE
> > "matches"."id" = 7 LIMIT 1
> >  Match Load (0.1ms)  SELECT "matches".* FROM "matches" WHERE
> > "matches"."id" = 6 LIMIT 1
> > Rendered matches/index.html.erb within layouts/application (16.0ms)
> > Completed 200 OK in 38ms (Views: 20.5ms | ActiveRecord: 1.8ms)
>
> > So, it is reading the table but just returning the wrong stuff. I don't
> > exactly know what one of <Match:0x103cebf18> is called so I don't know
> > what to search for to correct it.
>
> > Any help much appreciated!
>
> > --
> > Posted viahttp://www.ruby-forum.com/.
>
> > --
> > 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 
> > athttp://groups.google.com/group/rubyonrails-talk?hl=en.
>
> --
> gplus.to/clanlaw

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