ruby on railsで別のメソッドで取得した結果を合わせて、更新日時の降順に並べ替える際にハマったのでメモφ(..)
やりたかったこと
別メソッドで取得した結果を結合後に更新日時の降順に並べ替える。
例:キーワードに合致するタグ及び名称を持つレコード
最初にやろうとしたこと
下記ページを参考に実装してみたが、上手く行かず。。。
def self.search(key) # 検索値に合致したページの一覧を降順で返却 result1 = Page.where("name like '%#{ key }%'") result2 = Page.tagged_with(key) (result1 + result2).uniq.sort_by{ |v| -v['updated_at'] } end
エラー画面
解決策
他にもっと良いやり方がありそうですが、一旦昇順で取得し、reverse
で降順にすることで解決・・・!
def self.search(key) # 検索値に合致したページの一覧を降順で返却 result1 = Page.where("name like '%#{ key }%'") result2 = Page.tagged_with(key) (result1 + result2).uniq.sort_by{ |v| v['updated_at'] }.reverse end