1
私は現在、コントローラに2つのパラメータを渡すフォームを持っています。私の質問は、select_tagフォームで選択するたびに、submitタグにヒットした後に私の選択肢を残しておきたいのです。このようにして、ユーザーは自分が何を選択したかを知ることができます。私は使用することができました:selected => "true"しかし、デフォルト値のみであり、送信された値ではありません。Rubyはselect_tagで選択した選択肢を保存します
<form name="filter" action="" style="display:inline" >
<label for="filter">Filter by Name or Description: </label>
<%= text_field_tag "query", params['query'] %>
<label for="status">Filter by Status:</label>
<%= select_tag(:sortstatus,
'<option value="empty">Show All</option>,
<option value="0">Applying</option>,
<option value="3">Suspended</option>,
<option value="4">Pending</option>') %>
<%= submit_tag 'Search' %>
</form>
そして、ここで私のテーブルで
def sort_status
if params[:sortstatus] == "empty"
@statusorder = ""
else @statusorder = params[:sortstatus]
end
end
を動作するように、空の値を変更しますコントローラでは、Googleで、これまで任意の解決策を見つけることができていないです。
の現在の値に選択した項目を設定します。確かに非常に奇妙です。私はコントローラがその後私の価値を変えるようにしました。 <%> select_tag( 'sortstatus'、options_for_select([すべて表示]、[準備完了]、[適用中]、[保留中]、[保留中]]、params [:sortstatus])) – TheRealVayne