概要
初学者のただの備忘録です。
環境
- Ruby: 2.6.6
- Rails: 6.0.3.5
実装
例えば下記のようなCategoryクラスでhogehogeというクラスメソッドを定義する。
app/models/category.rb
class Category < ApplicationRecord
def self.hogehoge
category = Category.find_by(name: category_name)
return category.ideas if category.present?
[]
end
end
hogehogeメソッドの1行目Category.find_by(name: category_name)は
Categoryというクラス(class Category < ApplicationRecord)で
hogehogeメソッドの中で
Categoryクラスに対してfind_by(name: category_name)している。
だからクラスを省略できる。
category = Category.find_by(name: category_name)
category = find_by(name: category_name)