我有三个型号,它们看起来像(简化):
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
飞机可能出现在某些航空公司中,因此我需要另一个模型来指示飞机是否在一个或多个中航空公司
我正在构建一个表单,让用户上传一些关于飞机的信息,他们只需选择飞机注册表(呼号),然后他们就会得到一个列表,可以选择航空公司< / strong>它是。
这将适用于AJAX请求。但是,我试图弄清楚如何从我的控制器显示航空公司名称,以通过获取另一个JSON文件来避免另一个AJAX调用,只是为了获得基于{{1}的航空公司的名称} AirplaneSwitch 。
airline_id
我认为这种方式会更有效率,但我不知道是否可以这样做。
答案 0 :(得分:2)
这应该有效:
@airplane.airplane_switches.select('*, airlines.name as airline_name').joins(:airline)
假设您有变量airplane_switch
,其中包含以此方式获取的AirlineSwitch
实例。获取您的航空公司名称所需要做的就是:
airplane_switch.airline_name