Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails中的按日期排序_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails RubyonRails中的按日期排序

Ruby on rails RubyonRails中的按日期排序,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在Ruby on Rails中迭代一组对象,如下所示: <% @subject.Association.each do |horse| %> <tr> <td> <%= horse['Name'].to_s %> <%= horse['Size'] %> </td> </tr> <% end %> horse对象有一个日期字段,称为dateRode 我想

我在Ruby on Rails中迭代一组对象,如下所示:

  <% @subject.Association.each do |horse| %>
 <tr>
  <td>
    <%= horse['Name'].to_s %>
    <%= horse['Size'] %>
  </td>
  </tr>
   <% end %>

horse对象有一个日期字段,称为dateRode

我想按此字段订购

我不是一个ruby开发人员,但我尝试了很多方法来实现这一点,只会导致语法错误,例如

<% subject.association.each do |horse|-> { order by "dateRode" DESC } %>
{按“日期”描述排序}%>
在我的代码中如何在不编辑ActiveRecords等的情况下执行此操作

尝试替换此选项:

<% @subject.Association.each do |horse| %>


希望它能对您有所帮助。

尝试替换此:

<% @subject.Association.each do |horse| %>



希望它能对您有所帮助。

您可以使用
order
方法如下:

<% @subject.Association.order(dateRode: :desc).each do |horse| %>
  <tr>
    <td>
      <%= horse['Name'].to_s %>
      <%= horse['Size'] %>
    </td>
  </tr>
<% end %>

您可以使用如下方法订购集合:

<% @subject.Association.order(dateRode: :desc).each do |horse| %>
  <tr>
    <td>
      <%= horse['Name'].to_s %>
      <%= horse['Size'] %>
    </td>
  </tr>
<% end %>

另一种方法是,您可以设置关联模型的默认排序范围,如下所示

class Association < ActiveRecord::Base
  default_scope { order('dateRode DESC') }
end
类关联

因此,当您执行
时,另一种方法是您可以为关联模型的排序设置默认范围,如下所示

class Association < ActiveRecord::Base
  default_scope { order('dateRode DESC') }
end
类关联
所以当你做

其中Model是您的模型的名称,association是您想要订购的关联的名称

控制器方法

def some_method
  @subject = Model.order_by_date_rode
end
不太推荐的方法是在视图中进行排序


其中Model是您的模型的名称,association是您想要订购的关联的名称

控制器方法

def some_method
  @subject = Model.order_by_date_rode
end
不太推荐的方法是在视图中进行排序