我想提供一个简单的界面,根据信息的层次结构选择信息。
在我的例子中,用户需要进入他的县。
一个县处于一个州,一个州是一个国家的一部分。所以这是我的rails模型:
# Country
class Country < ActiveRecord::Base
has_many :states
end
# State
class State < ActiveRecord::Base
belongs_to :country
has_many :counties
end
# County
class County < ActiveRecord::Base
belongs_to :state
end
因此,在我的用户界面中,用户应首先选择国家/地区,根据国家/地区选择显示相关州的列表,并根据所选州显示县列表。
是否可以使用ActiveAdmin
创建此行为答案 0 :(得分:0)
ActiveAdmin Addons gem 提供了在 ActiveAdmin 中集成 nested select 的选项
f.input :county_id, as: :nested_select,
level_1: {
attribute: :country_id,
url: '/api/countries'
},
level_2: {
attribute: :state_id,
url: '/api/states'
},
level_3: {
attribute: :county_id,
url: '/api/counties'
}
f.input :county_id, as: :nested_select,
level_1: {
attribute: :country_id,
collection: Country.all
},
level_2: {
attribute: :state_id,
collection: State.all
},
level_3: {
attribute: :county_id,
collection: County.all
}