こんにちは!kossyです!
就活ルールについての続報が出てました。
https://headlines.yahoo.co.jp/hl?a=20181009-00000081-asahi-bus_allheadlines.yahoo.co.jp
既にルールそのものが形骸化しているのに、
国が躍起になってルールを守ろうとするのはどうしてなんでしょうかね。
気になります。
さて、今回はRailsでDB検索を行う際に
よく利用する条件句を予め準備する、
名前付きスコープ(Named Scope)について、
ブログに残したいと思います。
環境
Rails5.1.6
Ruby2.5.1
MacOS
名前付きスコープとは
データベース検索のコードを書いていると、同じ条件のコードを何度か書くことがあります。
そのような場合に、名前付きスコープを用いると便利です。
名前付きスコープは、特定の条件式やソート式などを予めモデル側で名前付けすることで、
利用時に名前ですぐに呼び出せるようにしておく仕組みです。
任意のモデルファイル scope :名前, -> { 条件句 } 以下は例です review.rb 省略 scope :revieworder, -> { order(id: 'DESC') } reviews_controller.rb 省略 def index @review = Review.all.revieworder end
モデルファイルで名前付きスコープを定義することで、
そのままメソッドチェーンとして連鎖させることができます。
上記の例は簡単なものでしたが、
もっと複雑な検索コードになりそうな時に使うとよさそうです。
参考にさせていただいた記事
qiita.com