我的代碼在軌一起排序是非常相似的,在railscasts #240鏈接搜索和使用serachlogic
的區別是,我使用的軌道2.3.10所以我不會使用「其中」。相反,我使用serachlogic和我的模型看起來像這樣...
//Model.rb
def self.search(search)
if search
Model.column_name_like(search)
else
find(:all)
end
end
(我使用的搜索邏輯,因爲我需要區分大小寫,因爲我部署到Heroku的(Postgres的))
當我嘗試鏈我的方法在railscast和其他教程在一起,就像我得到一個錯誤,如「法秩序沒有找到」
我的控制器是這裏...
@objects=Model.search(params[:search]).order(sort_order('created_at'))
這是一個略有不同的列排序方法,在我插入搜索之前爲我工作。
爲什麼此方法在某些教程中工作,但在此情況下會引發錯誤。是否因爲教程在rails 3中?
這有效,但它不夠靈活。我目前使用的應用程序助手,所以我可以按列asc/dsc排序。我還需要在最後添加分頁,例如.. @ objects.Model.search(params [:search])。order(sort_order('name'))。paginate(:per_page => @per_page,:page = > params [:page]) – 2011-01-20 18:11:57