日常

ケ・セラ・セラ

Rails バリデーションエラーの特定に悩む時のこと

バリデーションエラーが起きてるけど、どこでだか分からない。 ログもエラーメッセージの表示も大味すぎてよくわからない。

こういうこと、特に他人が書いたコードをやむなく引き継いだりしたケースではよくある気がしている。

そういう時よく、こうやって ActiveRecord::Validations で binding.pry して、 errors を覗いたりして見つけるのだけど、

    def valid?(context = nil)
      context ||= (new_record? ? :create : :update)
      output = super(context)
binding.pry
      errors.empty? && output
    end

そもそもぱっと見て分かるようにしろというのは置いておくとすると、 何かもっと良い方法はあるんでしょうか。誰か教えてほしい。