私のバージョンの Oracle では、will_paginate gem が壊れています。paginate_by_sql
WillPaginate モジュールのデフォルトの方法では、余分な「AS」がクエリに挿入され、クエリが失敗します。
コード自体は簡単に修正できますが、Rails に変更を反映させる最善の方法がわかりません。
gem 自体のコードを変更したくありません。変更すると、他のマシンでコードが壊れてしまうからです。
以下を含む lib/test.rb ファイルを作成してみました。
module WillPaginate
def paginate_by_sql
(my code goes here)
end
end
environment.rbからそれを要求していますが、私の変更を反映していません。また、controllers/application.rb から要求しようとしましたが、やはり変更が反映されませんでした。
一時的に、特定のモデル自体のメソッドをオーバーライドすることで機能するようになりましたが、これはちょっとしたハックであり、このプロジェクトの他のモデルでは使用できません。
これを行う簡単な方法があると確信していますが、Google を使用して追跡することはできません。