0
User
 #

Cars
 belongs_to :father, :class_name => "User"
 belongs_to :user

user = User.find(1)

みんなは私がタイプすることによってユーザーの車を取得するのを手伝ってくれますuser.cars(を使用して車を検索しますuser_id)が、father_idを使用して検索するためにどのように正確に取得できますか?

明らかに私はできますがCar.find_by_creator_id(...)、私はレールのような解決策があるかどうか知りたいと思いました。

ありがとう

4

1 に答える 1

1

リレーションの反対側を設定し、モデル:inverse_of内のそれぞれに指定できます。User何かのようなもの

class User < ActiveRecord::Base
  has_many :father_cars, :class_name => "Car", :inverse_of => :father
  has_many :cars, :inverse_of => :user

  # ...
end

Cars < ActiveRecord::Base
  belongs_to :father, :class_name => "User", :inverse_of => :father_cars
  belongs_to :user, :inverse_of => :cars

  # ...
end

:fatherその後、との関係にアクセスできます

u = User.find(1)
cars = user.father_cars
于 2012-07-09T14:19:10.800 に答える