Rails メソッドチェインについて

メソッドチェインとは

メソッドチェインとは、あるオブジェクトに対してメソッドを「.(ドット)」で繋げていき「.」の前のメソッドで返ってきた値を「.」の次に繋げたメソッドが受け取って処理していく。

#例1
User.where(name: 'programan').find_by(age: 25)

→ User.where(name: 'programan')で返ってきた配列に対して、find_byを使用することが出来る。

#例2
User.find_by(name: 'David').update(name: 'Dave')

→User.find_by(name: 'David')の返り値であるユーザーオブジェクトに対してupdate処理を実行している。 User.find_by(name: 'David')でユーザーが取得できなかった場合、nilに対してupdate処理を行うこととなり、例外が発生するので注意。 例外が発生しないようにするには、以下のように&.(通称ぼっち演算子)を使用すると良いでしょう。 nilでないときに限り(nilの時はnilを返す)、update処理を行うようになります。

User.find_by(name: 'David')&.update(name: 'Dave')

参考サイト

pikawaka.com

railsguides.jp