【Rails】「このメソッド、呼べるなら呼んでくれ」と書くなら respond_to? よりも try を使う
行けたら行く的な。
結論
@person.non_existing_method if @person.respond_to?(:non_existing_method) # => nil
は、
@person.try(:non_existing_method) # => nil
と同じだと、https://api.rubyonrails.org/classes/Object.html#method-i-try にありました。
どういう時に使ったか
なにかしらのモデルオブジェクトを引数にとるメソッドの中で、以下のように使いました。
def xxxx(model) if model.try(:method_name) # ...