私は3つのモデルを持っており、それらは(簡略化して)次のようになります。
class Airline < ActiveRecord::Base
attr_accessible :name
has_many :airplanes
has_many :airplane_switches
end
class Airplane < ActiveRecord::Base
attr_accessible :airline_id, :register
belongs_to :airline
has_many :airplane_switches
end
class AirplaneSwitch < ActiveRecord::Base
attr_accessible :airline_id, :airplane_id
belongs_to :airplane
belongs_to :airline
end
飛行機は一部のAirlinesに含まれていた可能性があるため、飛行機が 1 つ以上のAirlinesに含まれているかどうかを示す別のモデルが必要でした。
ユーザーがAirplaneに関する情報をアップロードできるようにするフォームを作成しています。飛行機の登録 (コールサイン) を選択するだけで、どの航空会社であったかを選択するリストが表示されます。
これは AJAX リクエストで機能します。しかし、 AirplaneSwitch に基づいて航空会社の名前を取得するためだけに別の JSON ファイルをフェッチして、別の AJAX 呼び出しを回避するために、コントローラーから航空会社の名前を表示する方法を見つけようとしています。airline_id
@airplane = Airplane.find_by_register(params[:register])
@airplane_switches = @airplane.airplane_switches # Here I need to join also each Airline.name
この方法の方が効率的だと思いますが、それが可能かどうかはわかりません。