相同关系的多重关系

Ale*_*lan 2 activerecord ruby-on-rails relationship

我对Rails非常陌生,因此请原谅我有限的知识。

如果我想为飞行员创建一个Web应用程序以记录飞行情况,则可能有以下模型...

class Flight < ActiveRecord::Base
    belongs_to :plane
    belongs_to :pilot
end

class Plane < ActiveRecord::Base
    has_many :flights
end

class Pilot < ActiveRecord::Base
    has_many :flights
end
Run Code Online (Sandbox Code Playgroud)

但是,如果我希望我的航班班次与某个机场班次相关,一次与始发机场有关,再一次与目标机场有关,我该怎么做?

另外,我该如何在机场侧建立关系?

任何对此的建议将不胜感激。

luc*_*tte 5

您必须设置class_name和foreign_key选项。您可以尝试类似:

belongs_to :origin_airport, :class_name => "Airport", :foreign_key => "origin_airport_id"
belongs_to :destination_airport, :class_name => "Airport", :foreign_key => "destination_airport_id"
Run Code Online (Sandbox Code Playgroud)

显然,命名取决于您。docs中有一个示例。