2016-06-23 5 views
0

Wenn ich Tabellen wie folgt aus:Einstellung has_many durch doppelte BELONG_TO Tabelle

class User < ActiveRecord::Base 
    has_many :cars, through: :user_cars 
end 

class UserCar < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :car 

    validates_uniqueness_of :car, scope: :user 
end 


class Car < ActiveRecord::Base 
    has_one :user_car, dependent: :destroy 
    has_one :user, through: :user_cars 
end 

Jeder Nutzer ein Auto haben kann, und Auto gehören kann nur ein Benutzer zu.

Ich möchte alle Autos, die dem Benutzer gehören, abrufen können, aber user.cars funktioniert nicht.

Was ich vermisse? Sind die Beziehungen richtig eingestellt?

+0

Benötigen Sie 'UserCar' wirklich? – potashin

+0

Ich möchte es behalten, damit ich es schließlich erweitern könnte, dass ein Auto mehreren Benutzern gehören kann – Aleks

Antwort

0

Der Fehler war in der Tat ein typo Problem.

has_one :user, through: :user_cars 

Sollte gewesen sein:

am Ende through Vereinigung
has_one :user, through: :user_car 

Ohne s

Verwandte Themen