как отсортировать распечатанный список по DESC

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я распечатываю список пользователей, которые ответили на вопросы, заданные компанией:

 <% @applications.all.each do |application| %>
<% application.answers.each do |answer| %>

  <p>Your question1: <%= answer.application.question_1 %></p>
  <p>Their answer 1: <%= answer.answer_1 %></p>
  <p>Your question 2: <%= answer.application.question_2 %></p>
  <p>Their answer 3: <%= answer.answer_2 %></p>
  <p>Your question 3: <%= answer.application.question_3 %></p>
  <p>Their answer 3: <%= answer.answer_3 %></p>


  <i>Answered by <b><%= link_to "#{answer.user.fullname}", user_path(answer.user.slug) %></b>, <%= time_ago_in_words(answer.created_at) %> ago</i> | <%= button_to "delete this applicant", root_url, data: { confirm: "Are you sure?"}, method: :delete %>
  <hr>
  

проблема сейчас в том, что они не расположены в каком-либо определенном порядке. Я хотел бы отсортировать ‘created_at DESC’, но не смог успешно это сделать. Я делаю это в представлении или в модели? Что здесь рекомендуется и как мне это сделать.

Ответ №1:

Вы делаете подобные вещи в методе контроллера, который возвращает вашу страницу, например: index :

 @applications = Application.all.order("created_at DESC")
  

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

Не определяйте в своих представлениях ничего, кроме базовой логики условного представления.