それぞれの優れたRailsCastチュートリアルに基づいて、簡単な検索機能をwill_paginateページネーションと組み合わせています。単純検索、will_paginate、および注文の組み合わせ
(モデル内の)コードを特定の順序で検索することなく経路上の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
、以下に示されています。
しかし、検索結果(@matches)を使用するパスに、私は次のエラーを取得する、
SQLite3::SQLException: ambiguous column name: created_at: SELECT ... ORDER BY created_at DESC LIMIT 30 OFFSET
私は秩序パラメータを削除した場合、それが正常に動作します。
これを解決する方法についてお勧めします。ありがとう。彼らのためにレール2と3の間に大きな変化
はあなたの一部としてのcreated_atを生成することをダブルチェックもありませんでした