您好,我们将基于各自优秀的RailsCasts教程的简单搜索工具与will_paginate分页相结合。结合简单的搜索,will_paginate和订购
的代码(在模型中)如下所示,
def search(search, page)
# See RailsCasts #37 Simple Search Form & #51 will_paginate
if search
@matches = SalesActivity.where('salespeople.name LIKE ? OR products.name LIKE ?',
"%#{search}%", "%#{search}%")
@matches.paginate :per_page => 30,
:page => page,
:order => 'created_at DESC' # <--- causes exception
else
paginate :include => [:salesperson, :product],
:order => 'created_at DESC', # works
:per_page => 30,
:page => page
end
end
指定的排序工作正常路径上的PAGINATE请求而不搜索。
但是,使用搜索结果(@matches)的道路上,我得到以下错误,
SQLite3::SQLException: ambiguous column name: created_at: SELECT ... ORDER BY created_at DESC LIMIT 30 OFFSET
如果我删除命令的参数,它工作正常。
我很感激如何解决这个问题的建议。谢谢。