shmn7iii

Blog

select, where, find, find_by

前提

Hogeモデルがあるよ

Hogeモデルは Boolean型の is_visible カラムを持つよ

Hogeモデルは Boolean型を返り値にもつ active? メソッドを持つよ

> Hoge.select(&:active?).class => Array(Hoge) > Hoge.find(&:active?).class => Hoge > Hoge.where(is_visible: true).class => Hoge::ActiveRecord_Relation > Hoge.select(&:is_visible).class => Array > Hoge.find_by(is_visible: true).class => Hoge > Hoge.find(&:is_visible).class => Hoge

&: でメソッド渡しするならRuby組み込みメソッドを使おう。

Enumerable::select, Enumerable::find

ActiveRecordに対してカラム名で絞るときはRailsのメソッドを使おう。

ActiveRecord::where, ActiveRecord::find, ActiveRecord::find_by