Rails:引用一个表时创建两个导航属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails:引用一个表时创建两个导航属性相关的知识,希望对你有一定的参考价值。
我正在创建一个名为Routes的表,它只有destination_airport_id和arrival_airport_id。我希望能够引用@ route.destination_airport,但Rails不会创建这些属性。这是我试过的:
create_table "routes", force: :cascade do |t|
t.integer "departure_airport_id"
t.integer "arrival_airport_id"
end
create_table "airports", force: :cascade do |t|
t.string "iata_code"
t.string "icao_code"
t.string "international_name"
t.string "localized_name"
end
class Airport < ApplicationRecord
scope :sorted, lambda { order("iata_code ASC") }
has_many :routes, :foreign_key => :id
end
class Route < ApplicationRecord
belongs_to :airport, :foreign_key => "arrival_airport_id"
belongs_to :airport, :foreign_key => "departure_airport_id"
end
答案
试试这个:
class Route < ApplicationRecord
belongs_to :arrival_airport, class_name: 'Airport'
belongs_to :departure_airport, class_name: 'Airport'
end
以上是关于Rails:引用一个表时创建两个导航属性的主要内容,如果未能解决你的问题,请参考以下文章
Android App 在片段中创建 ListView 引用时关闭
如何在两个片段之间传递位图? (我正在使用 Android 导航组件)