1

select_tag を使用して価格のドロップダウンがありますが、ドロップダウンを使用して価格を設定し、検索を行うたびに、検索結果が返されるとドロップダウンの値がデフォルト値に戻ります。ドロップダウンを最後の値のままにするにはどうすればよいですか? コードは次のとおりです。最後に :selected => がありますが、どの値を指定すればよいかわかりません。

<%= label :price, 'max', "to $" %>
<%= select_tag(:max, options_for_select([['$100,000', 100000], ['$200,000', 200000], ...['$20,000,000', 20000000]], :selected => ['$1,000,000', 1000000])) %>
4

1 に答える 1

4

:selected事前に選択したい配列要素の最後の要素を指す必要があります。

試す

<%= select_tag(:max, options_for_select([['$100,000', 100000], ['$200,000', 200000], ...['$20,000,000', 20000000]], :selected => 1000000)) %>

現在のリクエストの値を保持したい場合は、

<%= select_tag(:max, options_for_select([['$100,000', 100000], ['$200,000', 200000], ...['$20,000,000', 20000000]], :selected => params[:max])) %>

Rails API の options_for_select も参照してください。

于 2012-05-22T05:52:10.023 に答える