1. ホーム
  2. ruby-on-rails

[解決済み] railsで、.save()が失敗した原因を検証エラー以外で見つけるにはどうしたらよいですか?

2022-12-02 20:14:35

質問内容

ActiveRecordのモデルがあり、そのモデルは true から valid? (そして.errorsは空)を返しますが false から save() . モデルインスタンスが有効である場合、保存に失敗する原因を見つけるにはどうしたらよいでしょうか。

どのように解決するのですか?

すべてのコールバックを確認してください。

私はこのような問題がありました。私がモデルに多くの変更を加えた後、失敗する "after_validate" メソッドを持っていました。モデルは有効でしたが、"after_validate" が false を返していたので、もし私が model.valid を使用するとtrueと表示されますが、保存すると検証エラー(after_validateコールバックから渡される)が発生しました。それは奇妙でした。

アプリケーショントレースを見て、どの行のコードが例外を発生させているかを確認することができるはずです。