如何使用table_而不是collection中的simple_form创建带有分组选项的select?尝试:
= f.input :countries,
:collection => [["North America",[["United States","US"],["Canada","CA"]]]],
:as => :grouped_select
但得到错误: nil不是符号
答案 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