Railsでnilエラーを処理する正しい方法は何ですか? 次のようなエラーがよく発生します。
NoMethodError (nil:NilClass に対する未定義のメソッド「質問」):
たとえば、アプリにそれぞれ質問があるチャプターがあるとします。現在の質問内から前章の質問を呼び出したいので、question.rb に次のコードを記述します。
def previous_question
self.chapter.previous.question
end
これにより上記のエラーが発生する可能性があるため、モデルにメソッドを記述して、結果が nil になるかどうかを確認します。
def has_previous_question?
self.chapter and self.chapter.previous and self.chapter.previous.question
end
を呼び出す前に必ずそれを呼び出すとprevious_question
、動作する可能性がありますが、ばかげているように見えます。Railsでnilエラーを処理するより良い方法はありますか?