Rails - 如何对数据进行排序

时间:2011-04-08 00:54:05

标签: ruby-on-rails

我有一个简单的应用程序,它在一个表中只有一个客户列表(只是一个名称属性),而在另一个表中,跟踪它们的季度节省(金额,季度和年份属性)。 Client has_many :savingsSaving belongs_to :client。随着储蓄数据的输入,有一个点进入季度和年份(两个单独的字段),两个整数。在客户显示页面上,我列出了通过执行以下操作输入储蓄数据的季度:

在show:

下的clients_controller中
@savings = @client.savings  

在我的客户show.html.erb:

<% @savings.each do |saving| %>  
  <%= link_to "Q#{saving.quarter} #{saving.year}", edit_saving_path %>  
<% end %>  

在屏幕上,这会显示“Q1 2011”等条目的季度和日期。然而,它按照它们进入时的顺序排列,我希望它们按时间顺序排列。

两个问题,如何订购条目,第二,这是为每个客户列出这些储蓄条目的正确方法吗?

1 个答案:

答案 0 :(得分:2)

1:

@savings = @client.savings.order("year")

2: 您应该使用此表示覆盖to_s,或者至少将其放在帮助器中,因为您可能不止一次需要此表示“Q1 2011”。

加成: 它应该是edit_saving_path(保存)