#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")
Если вы хотите дополнительно организовать свою логику, вы можете начать определять области в своей модели, а затем использовать их в своем контроллере.
Не определяйте в своих представлениях ничего, кроме базовой логики условного представления.