我使用模型'Aircompany'
来处理belongs_to关联模型'Timetableap' class Timetableap < ActiveRecord::Base
belongs_to :aircompany
...
end
class Aircompany < ActiveRecord::Base
has_many :timetableaps
...
end
在'Timetableaps'控制器中:
class TimetableapsController < ApplicationController
...
def index
@t = Timetableap.search(params[:search_ap],params[:search_al])
...
end
我的结构表 “航空公司”表
create_table "aircompanies", :force => true do |t| t.string "iata_code", :null => false t.string "icao_code", :null => false t.string "awb_prefix" t.string "airline_name", :null => false t.integer "airport_id", :null => false t.string "country" t.string "ap_hubs" t.date "start" t.date "end" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false end
“timetableaps”表
create_table "timetableaps", :force => true do |t| t.integer "Flight_Number" t.integer "aircompany_id" t.integer "way_start" t.integer "way_end" t.string "TermStart" t.string "GateStart" t.string "TermEnd" t.string "GateEnd" t.string "TypeOfPlane" t.time "TimeStart" t.time "TimeEnd" t.date "DateOfStartNav" t.date "DateOfEndNav" t.integer "s1" t.integer "s2" t.integer "s3" t.integer "s4" t.integer "s5" t.integer "s6" t.integer "s0" t.integer "e1" t.integer "e2" t.integer "e3" t.integer "e4" t.integer "e5" t.integer "e6" t.integer "e0" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false end
如何使用'aircompany.airline_name'在视图中显示下拉列表?
<%= select_tag "search_al", options_from_collection_for_select(@t.group("aircompany_id"),"aircompany_id", **"aircompany"**), prompt: "All Airlines" %>
答案 0 :(得分:1)
目前尚不清楚您是否希望与所有航空公司联系,或者是否应该以某种方式过滤它们。
如果您想要所有航空公司,这可行:
<%= select_tag "search_al", options_from_collection_for_select(Aircompany.all, :id, :airline_name), prompt: "All Airlines" %>
由于@t
似乎是Timetableap
条记录的集合,您可以选择仅显示当前时间表集合中的航空公司:
<%= select_tag "search_al", options_from_collection_for_select(@t.map(&:aircompany).uniq, :id, :airline_name), prompt: "All Airlines" %>