在 Ruby 中打印关联详细信息时排序输出

Ordering output while printing association details in Ruby

我有一段代码几乎可以完美运行,但还不够完美。它正在输出新闻故事列表,并遵循我创建的客户-> 网站-> 新闻的关联。

但是我希望按新闻实体中的字段 "DATE" 对它们进行排序。目前它以看似随机的顺序输出,当我打印数据时我所做的任何更改都不会反映出来(你可以在下面的代码中看到我已经努力添加一个排序,但是从 ascending/descending 顺序改变使得没有区别)。

<div class="News">
  <% @subject.customersAssociation.each do |customer| %>
    <% customer.websitesAssociation.each do |website| %>
  <% website.newsAssociation.sorted_by(field('DATE')).each do |news| %>
            <ul>
              <li>..Print data from |customer|... </li>
              <li>..Print data from |website|... </li>
              <li>..Print data from |news|... </li>
          </ul>
       <% end %>
    <% end %>
 <% end %>

您应该使用 order,像这样:

website.newsAssociation.order(date: :desc)

您可以通过指定 :asc 而不是 :desc

来更改为升序