Ruby on rails 同一事物的多个关系Rails

Ruby on rails 同一事物的多个关系Rails,ruby-on-rails,activerecord,relationship,Ruby On Rails,Activerecord,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_ma

我对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
class Flight
然而,如果我想让我的航班等级与机场等级关联两次,一次是始发机场,另一次是目的地机场,我该怎么做

那么,我将如何在机场方面建立这种关系呢


如果您对此有任何建议,我们将不胜感激。

您必须设置类名和外键选项。您可以尝试以下方法:

belongs_to :origin_airport, :class_name => "Airport", :foreign_key => "origin_airport_id"
belongs_to :destination_airport, :class_name => "Airport", :foreign_key => "destination_airport_id"

显然,命名取决于你。在.

中有一个例子,在@lucapete的答案中添加一点,然后需要注意的是,activerecord中关系的第一个参数是属性的名称。如果您有一个具有相同名称+“_id”和模型的列,您可以跳过“外部_键和类”选项,如果没有,请像上面那样提供它。在机场使用相同的方法,你应该准备好了:)