在长活动记录查询上链接附加.order方法

时间:2012-04-17 20:33:07

标签: ruby-on-rails ruby-on-rails-3 activerecord

我有一些公司,我想将可排序的表列添加到我正在显示它们的表中。

我有自定义搜索方法,并添加了分页,但是在插入.order方法时遇到问题

 @firms = Firm.search(params[:search], params[:id]).page(params[:page]).per_page(2).order(params[:sort] + " " + params[:direction])

从表柱头送入

.order(params[:sort] + " " + params[:direction])

意志分页方法

.page(params[:page]).per_page(2)

是我的自定义搜索方法

Firm.search(params[:search], params[:id])

如果我尝试顶部的链条,那么我会收到错误

undefined local variable or method `firms' for #<FirmsController

有什么想法吗?

非常感谢提前。

2 个答案:

答案 0 :(得分:1)

试试这个:

@firms = Firm.search(params[:search], params[:id])
                 .order(params[:sort] + " " + params[:direction])
                 .paginate(:page => params[:page], :per_page => 2)

您的订购方法应该在您的paginate方法之前。

答案 1 :(得分:0)

看起来您可能忘记将@放在实例变量的某处?我不认为这种错误可能来自您的查询,因为它说的是FirmsController