私のコードはrailscasts #240のものと非常によく似ています
違いは、レール 2.3.10 を使用しているため、「where」を使用していないことです。代わりに、私は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 にあるからでしょうか?