我目前有一个将2个参数传递给控制器的表单。我的问题是,每次我在select_tag表单中做出选择时,我希望在点击提交标记后保留选项。这样,用户就知道他或她刚刚选择了什么。我可以使用:selected =>“true”,但这只是默认值而不是提交的值。
<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尚无法找到任何解决方案。
答案 0 :(得分:2)
了解如何使用options_for_select生成options
代码。它允许您指定要选择的条目。 e.g。
<%= select_tag(:sortstatus, options_for_select([['Show All', 'empty'],
['Applying', '0'],
['Suspended', '3'],
['Pending', '4']], params[:sortstatus]) %>
这会将所选项目设置为当前值params[:sortstatus]