我正在構建一個Rails應用程序,該應用程序構建Active Admin來操作數據。 我有一個汽車經銷商以下型號:Active Admin:基於另一個select的嵌套「select」輸入
class Make < ActiveRecord::Base
has_many :models
end
class Model < ActiveRecord::Base
belongs_to :make
has_many :cars
end
class Car < ActiveRecord::Base
belongs_to :model
def make
self.model.make
end
end
我試圖調整在ActiveAdmin形式「駕駛」模式,使而不是從所有可用型號的大名單中選擇模型,我應該能夠通過選擇「製造」然後選擇基於該製造的模型來縮小模型。
目前,我有這樣的:
ActiveAdmin.register Car do
controller do
def permitted_params
params.permit!
end
end
form :html => { :multipart => true } do |f|
f.inputs "Project Details" do |c|
f.input :vin
f.input :year
end
f.inputs "Make and model" do
f.input :maker, :as => :select, :collection => Make.all, :include_blank => false
f.input :model, :as => :select, :collection => Model.where(make_id: 1), :include_blank => false, :selected => (car.model.id if !car.model.nil?)
end
end
end
這工作得很好,並在「模式」下拉列表中列出的機型是具有make_id = 1,因爲我編寫的人。我希望模型能夠反映選定的「製造商」。並且可能會有一個按鈕用於更新基於make的模型列表。
我該怎麼做?