使用:order和:limit选项 - Ruby On Rails

时间:2009-11-15 22:45:47

标签: ruby-on-rails

有什么办法可以在find方法中使用:limit和:order选项。我正在尝试按降序对活动进行排序,以便显示最新的活动。但是,当我尝试使用(:all,:limit => 5,:order =>'Date desc)时,我收到错误。我需要限制只有5条记录,当我忽略订单选项时,它可以工作但不是我需要的...

由于

2 个答案:

答案 0 :(得分:9)

我想你错过了你的例子中的一句话。

  

Model.find(:all,:limit => 5,:order =>'created_at desc')

确保表格中存在日期列。

答案 1 :(得分:0)

您的日期列实际上是date吗?首先,我会改变这一点,date是大多数数据库中函数的名称,这可能是您看到的错误的原因。 Rails使用created_atupdated_at等,因此遵循该命名方案将使您的代码对未来的维护者更具可读性。

您可以尝试在反向标记中引用列名称:

:order => "`date` desc"