tryメソッドとは
オブジェクトがnilでない場合のみ、そのオブジェクトのメソッドを実行したい!って時に使うメソッドです。
と出てくる。
ちょっとよくわからないので実際に試してみた
@bodyに何も定義指定ない場合
[265] pry(#)> @body
=> nil
と表示される
[266] pry(#)> @body.name
NoMethodError: undefined method `name' for nil:NilClass
from (pry):29:in `render_page_list'
@bodyに何も入ってないから
NoMethodErrorが出てしまう
一方tryメソッドを使うと
[262] pry(#)>@body.try(:name)
=> nil
と@bodyの中に何も入っていなかったとしても
エラーが起きずnilを返してくれる
railsプログラム内でこのように使える