2016-04-28 57 views
1

我有一段代码几乎完美,但不完全。它正在输出新闻故事列表,并且遵循我创建的客户 - >网站 - >新闻的关联。在Ruby中打印关联详细信息时排序输出

但是我希望让他们按新闻实体中的字段“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 %> 

回答

2

您应该使用order,像这样:

website.newsAssociation.order(date: :desc)

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

更改为升序