Railsである特定のmodelの検索(find)時に必ずsortをかけたいというような場合には、modelのfindをカスタマイズするのが便利。
class Hoge < ActiveRecord::Base
class << self
alias_method :find_org, :find
def find(*params)
options = {:order => "fuga desc"}
options.update(params.last.is_a?(::Hash)? params.pop : {})
find_org(*params.push(options))
end
end
end
もとのfind(find_org)を呼び出すときに、paramsを’*‘でもとに戻すの忘れてえらい目にあった。
ツイート