コレクションからではなく、テーブルからsimple_formを使用してグループ化されたオプションでselectを作成するにはどうすればよいですか?試した:
= f.input :countries,
:collection => [["North America",[["United States","US"],["Canada","CA"]]]],
:as => :grouped_select
しかしエラーが発生しました:nilはシンボルではありません
コレクションからではなく、テーブルからsimple_formを使用してグループ化されたオプションでselectを作成するにはどうすればよいですか?試した:
= f.input :countries,
:collection => [["North America",[["United States","US"],["Canada","CA"]]]],
:as => :grouped_select
しかしエラーが発生しました:nilはシンボルではありません
https://github.com/plataformatec/simple_formのドキュメントをざっと見てみると:group_method => :method
、collection_select にが必要であることがわかります。
彼らが与える完全な例は次のとおりです。f.input :country_id, :collection => @continents, :as => :grouped_select, :group_method => :countries
また、ご存じない場合に備えて、simple_form には country_select ヘルパーがあり、gem 'country_select'
使用する予定がある場合は gemfile に追加する必要があります。
そのヘルパーを使用した country_select は次のようになります:
f.input :shipping_country, :priority => [ "Brazil" ]
リストをいくつかの国に制限するオプションを使用すると、次のようになります:f.input :shipping_country, :priority => [ "Brazil" ], :collection => [ "Australia", "Brazil", "New Zealand"]
これらの例は、simple_form ドキュメントの「priority」セクションにあります: plataformatec/simple_form/master/frames . どうやら、 simple_form はそれが国のものであることを検出するので、使用するだけinput
で十分です。
私の場合、使用 as: :grouped_select
したときにのみ機能し、 :group_method => :last