0

次のコード:

<%= select_tag "Cat", option_groups_from_collection_for_select(Category.all, :subcategories, :name, :id, :name, 3) %>

次のような出力が生成されます。

名前
    満杯
    初め
    最後
    ユーザー名
    ニックネーム
Eメール
    個人的
    仕事
..。

必要なのは、各optgroupラベル(Name、Email)に「All」オプションを追加して、出力が次のようになるようにすることです。

名前
    全て
    満杯
    初め
    最後
    ユーザー名
    ニックネーム
Eメール
    全て
    個人的
    仕事
..。

TIA

4

1 に答える 1

1

仮想サブカテゴリ「すべて」を各カテゴリに追加し、コントローラで「すべて」の選択を適切に処理するとします。

または(コメントの後に追加):

の出力文字列をoptions_groups_from_collection_for_select取得し、xml-解析して(たとえば、Nokogiriを使用して)、すべてのカテゴリノードを検索し、次の形式のxmlサブノードを追加します

<option value="<categoryname>-all">All</option>

結果を文字列化します。<categoryname>-allその後、コントローラで戻り値を処理できます。

于 2012-09-20T11:36:50.963 に答える