simple_form和groups选择数组

时间:2012-04-16 10:44:37

标签: ruby-on-rails simple-form

如何使用table_而不是collection中的simple_form创建带有分组选项的select?尝试:

= f.input :countries, 
:collection => [["North America",[["United States","US"],["Canada","CA"]]]], 
:as => :grouped_select

但得到错误: nil不是符号

2 个答案:

答案 0 :(得分:5)

快速查看https://github.com/plataformatec/simple_form上的文档,可以看出您在collection_select上需要:group_method => :method

以下是他们提供的完整示例:f.input :country_id, :collection => @continents, :as => :grouped_select, :group_method => :countries

另外,如果你不知道,simple_form有一个country_select帮助器,如果你打算使用它,你需要将gem 'country_select'添加到你的gem文件中。

使用该帮助程序的country_select可能如下所示: f.input :shipping_country, :priority => [ "Brazil" ]可以选择将列表限制为几个国家/地区:f.input :shipping_country, :priority => [ "Brazil" ], :collection => [ "Australia", "Brazil", "New Zealand"]这些示例可以在" priority"中的simple_form文档中找到。部分:http://rubydoc.info/github/plataformatec/simple_form/master/frames。显然,simple_form会检测到某个国家/地区,因此只需使用input即可。

答案 1 :(得分:0)

就我而言,只有在我使用as: :grouped_select:group_method => :last

时才有效