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

时间:2016-04-28 08:46:22

标签: ruby-on-rails ruby sorting associations

我有一段代码几乎完美,但并不完全。它正在输出一个新闻故事列表,并遵循我创建的customer-> website-> news的关联。

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

<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 %>

1 个答案:

答案 0 :(得分:2)

您应该使用order,如下所示:

website.newsAssociation.order(date: :desc)

您可以指定:asc代替:desc

来更改为升序