Сортировка объектов модели в View - вызов метода Model в View или реализация сортировки в Controller? - PullRequest
0 голосов
/ 10 октября 2009

По умолчанию, когда я вызываю это:

<table>
  <% @question.answers.each do |answer| %>
  <tr>

Ответы на вопрос отображаются в порядке их создания.

Как правильно сортировать их по голосам?

Я не уверен, нужно ли мне вызывать метод для ответов в представлении или реализовывать функцию сортировки в контроллере или модели.

Ответы [ 2 ]

1 голос
/ 10 октября 2009

Если я сделаю это один раз, я сделаю это в виде что-то вроде:

<% @questions.sort {|x,y| y.votes <=> x.votes }.each do |question| %>
  <p><%= @question.title %></p>       
<% end %>

И, как cwninja, если есть что-то более интересное, я сделаю логику в контроллере или помощнике.

1 голос
/ 10 октября 2009

Это в основном вопрос стиля.

Лично:

  • Если это порядок сортировки с жестким кодом, просто вставьте его в представление.
  • Если за этим стоит какая-то логика (на основе параметров запроса, нумерации страниц или чего-либо еще интересного ), тогда вставьте коллекцию в переменную @answers.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...