2017-09-28 15 views
0

フォーム提出時にForeignKeyViolationエラーを処理するにはどうすればよいですか?Rails - ForeignKeyViolation in form

私はuser_idの値を期待する入力フィールドを持っています。存在しないIDを入力すると、フォームは引き続き有効とみなされ、送信されますが、そのエラーが発生してサーバーエラーが発生します。

フォームエラーを発生させてf.object.errorsに追加するにはどうすればいいですか?いいえ&で挿入されたIDを確認するようユーザーに通知することはできますか?

答えて

0

は、このようなあなたのモデルに検証を追加します。

belongs_to :user 
    validates_presence_of :user 
+0

おかげで、それが適切に動作しますが、それは 'ユーザーがblank'エラーすることはできません私に与えます。この特定のケースを処理するためのより良いエラーメッセージ(「ユーザーIDが無効です」など)を提供するにはどうすればよいですか? – davideghz

+1

メッセージをpramとして追加するだけです。 validates_presence_of:user、message: 'あなたのメッセージ' –