Ruby сохраняет выбранный выбор в select_tag - PullRequest
1 голос
/ 22 ноября 2010

В настоящее время у меня есть форма, которая передает 2 параметра моему контроллеру.Мой вопрос заключается в том, что каждый раз, когда я делаю выбор в форме select_tag, я хочу, чтобы мой вариант остался после того, как я нажму на тег submit.Таким образом, пользователь знает, что он или она только что выбрали.Я мог бы использовать: 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>

А вот контроллер, который изменит значение empty для работы с моимtable

  def sort_status
    if params[:sortstatus] == "empty"
             @statusorder = ""
    else @statusorder = params[:sortstatus]
    end
  end

Не удалось найти ни одного решения в Google.

1 Ответ

2 голосов
/ 22 ноября 2010

Взгляните на использование options_for_select для генерации ваших options тегов. Позволяет указать, какую запись вы хотите выбрать. например,

<%= select_tag(:sortstatus, options_for_select([['Show All', 'empty'],
  ['Applying', '0'],
  ['Suspended', '3'],
  ['Pending', '4']], params[:sortstatus]) %>

При этом для выбранного элемента будет установлено текущее значение params[:sortstatus]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...