rails索引动作中的变量冲突

时间:2012-02-19 10:57:52

标签: ruby-on-rails

我是铁杆新手,所以我希望有人可以帮助我。

这是我的代码

def index
  @todos = Todo.order(sort_column + " " + sort_direction)  #sorts table columns
  @todos = Todo.page(params[:page]).per(1)                 #pagination
  @todos = Todo.search(params)                             #search filter

  respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @todos }
  end
end

排序,分页和搜索所有工作都完全靠自己完成,但显然在一次声明所有三个变量时会引起冲突。

我不确定如何解决为这些变量赋予不同名称的问题,以便它们仍然可以在应用程序的上下文中工作。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你可以链接电话:

 @todos = Todo.order(sort_column + " " + sort_direction).search(params).page(params[:page]).per(1)

我已经改变了一下顺序,因为假设你正在使用Kaminari,分页应该始终是最后一个调用的方法。只有当您的搜索方法返回ActiveRecord关系时,这才有效。

修改

阅读评论,我想你正在使用轮胎。它似乎支持Kaminari,但你需要做一些努力。请看this discussion。不幸的是,我对蒂尔并不熟悉。