如何使select_tag保持上次搜索的值?

我使用select_tag有一个价格下拉列表,但每次我使用下拉列表设置价格然后进行搜索时,下拉列表中的值会在返回搜索结果时返回到其默认值。 如何使下拉列表保持最后一个值? 这是代码,我在最后得到:selected =>但不知道给它的值是多少:

  ['$1,000,000', 1000000])) %> 

: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 。