クラスメソッド

クラスメソッド

インスタンスメソッドは個別のインスタンスを操作しました。それに対し、クラスメソッドはインスタンスとは紐付いておらず、クラス全体(Railsではモデル全体)の中から何か取り出す場合に使用します。

全体から探すようなメソッドを例に詳しく見てみましょう。まず記法はインスタンスメソッドとは違ってdef self.の後にメソッド名を書く形になります。self.がつくことを忘れないようにしましょう。以下のメソッドを使うと、タイトルにtestという文字が含まれるレコードを探すことが出来ます。

# article.rb

def self.find_tests
  where('title like ?', "%test%")
end

# ターミナル

> Article.find_tests
   #=> クラスメソッドが呼び出される

課題

一番新しいアーティクルを1件だけ取り出すクラスメソッドを自作してみましょう。以下情報を参考にして考えてみて下さい。

Article.lastを使用すると最後のレコードが取り出される

無料ビデオ講座のお知らせ

Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。

無料講座一覧を見る

×