Форма для сортировки индекса в рельсах - PullRequest
1 голос
/ 19 апреля 2010

Я новичок в Rails. Я хочу построить простую форму, которая определяет порядок сортировки списка. Я реализовал форму в виде -

<%= radio_button_tag :sort, "rating" %>
  <%= label_tag :sort_rating, "order by rating" %>
<%= radio_button_tag :sort, "name" %>
  <%= label_tag :sort_name, "order by name" %>

И теперь я не уверен, как реализовать сортировку на уровне контроллера / модели. Я озадачен аспектами:

  • Где должна выполняться сортировка
  • Как сохранить параметр сортировки
  • Как можно повторно использовать код

Сейчас я даже не могу заставить выбранный метод сортировки оставаться выбранным после отправки.

Я был бы очень признателен за любые указания или ссылки на пример.

1 Ответ

1 голос
/ 19 апреля 2010

Где должна выполняться сортировка

В контроллере:

order_by = "rating ASC" if params[:sort] == 'rating'
...
@people = Person.all(:order => order_by)

Или как то так. Я не уверен, как проходят формы с переключателями.

Как сохранить параметр сортировки

В просмотрах:

<%= radio_button_tag :sort, "rating", params[:sort] == 'rating' ? true : false %>
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...