2

コレクションからではなく、テーブルからsimple_formを使用してグループ化されたオプションでselectを作成するにはどうすればよいですか?試した:

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

しかしエラーが発生しました:nilはシンボルではありません

4

2 に答える 2

4

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で十分です。

于 2012-05-02T23:55:03.110 に答える
0

私の場合、使用 as: :grouped_selectしたときにのみ機能し、 :group_method => :last

于 2017-10-04T21:06:47.087 に答える