Я определяю структуру данных для маршрутизации авиакомпаний.поля дизайна, которые ссылаются на запись из другой таблицы
Ожидаемое использование будет так
Route.find(1).from_airport # NRT
Route.find(1).to_airport # KIX
Route.find(2).from_airport # NRT
Route.find(2).to_airport # TPE
Однако, я не хочу, чтобы определить значение строки в FROM_AIRPORT поле или TO_AIRPORT поле.
Данные о аэропортовых сборах сохраняются в таблице аэропортов.
Как я могу определить его в Ruby on Rails?
Он принадлежит к логике has_one на таблице маршрутов, и нет никакой логики принадлежности к аэропорту.
Модель: Route (В моей мысли)
has_one :from_airport, foreign_key: "id??", class_name: "Route"
has_one :to_airport, foreign_key: "id??", class_name: "Route"
Airports стол
id:1 name: NRT, city: TOKYO, country: JAPAN
id:2 name: KIX, city: OSAKA, country: JAPAN
Маршруты стол
from_airport: # it should NOT be a string, it should refers to a record in Airports table eg: airport (id:1)
to_airport: # it should NOT be a string, it should refers to a record in Airports table eg: airport (id:1)