クラスメソッド | SkillhubAI(スキルハブエーアイ)

クラスメソッド

クラスメソッド

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

file

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

# article.rb

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

# ターミナル

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

課題

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

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