@ object.saveなど、Railsでサイレントに発生するエラーに関する詳細情報を取得するにはどうすればよいですか?
質問する
4580 次
3 に答える
10
検証が失敗したときにエラーが発生するように、bangを追加します。
@article.save!
# ActiveRecord::RecordInvalid: Validation failed: Title can't be blank...
save
検証が失敗することを期待しない場合よりも、常にこの方法を優先して使用してください。
于 2012-10-10T05:25:17.573 に答える
7
この投稿によると、次のようなものが機能します:
logger.debug @item.errors.full_messages
于 2012-10-09T22:17:36.693 に答える
6
検証エラー以外の理由でARがサイレントに失敗することがあります。チェックする他のいくつかの事柄は次のとおりです。
- trueを返さないARコールバック(例:before_save)
- 無効な親/子レコード
- @ item.valid?、@ item.errors.full_messages
- @ item.changes、@ item.changed?
検証エラーのチェックに関するuser456584のコメントも含めました。そしてセミョンが言ったように、@ item.save!特に役に立たない場合でも、少なくとも例外が発生します。
于 2013-12-14T06:14:38.920 に答える