如何创建按父组分组的子模型记录的下拉列表

我有三个模型,属性,城市和地区。 一个城市属于一个地区和地区,拥有多个城市。 用户在定义新属性时选择城市。

有很多城市,所以我希望下拉列表看起来像这样:

Region 1: City 1 City 2 City 3 Region 2: City 4 City 5 

但是只有城市是可选择的,即区域是灰色的,只是作为视觉指南。 有没有办法按父母对儿童记录进行分组?

您想使用rails“option_groups_from_collection_for_select”帮助程序

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-option_groups_from_collection_for_select

 = option_groups_from_collection_for_select(@regions, :cities, :name, :id, :name, 3) 

如果要手动提供2级数组选项,请使用“grouped_options_for_select”

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-grouped_options_for_select