2017-07-17 9 views
0

This is the error message displayed、それはコントローラで検証エラーがアクションビュー

を作成示して、私は、テキストフィールドを検証しようとしましたが、上記のエラーが発生しました。コントローラのコードは次のとおりです。

def create 
    @user = User.find(params[:user_id]) 
    @reimbursements = @user.reimbursements.new(reimbursements_params) 
    if @reimbursements.save! 
     flash[:success] = "Reimbursement successfully created." 
     redirect_to user_reimbursements_path 
     # Handle a successful save. 
    else 
     render 'new' 
     redirect_to new_user_reimbursement_path, info: "message display garni" 
    end 
    end 
+1

は、次のリンクを確認することができます。 –

+0

作成中に説明と金額が提供されていることを確認するには、払い戻しモデルの検証が必要です。あなたがreimbursements_paramsでそれらを渡すことを確認してください...私はあなたのパラメータに何か説明や量を渡していないことを参照してください –

+0

(reimbursements_params'とJSONがサーバーに送信された)動作していないクライアントでフォームの検証が行われている可能性がありますか?それが事実なら、それはあなたが助けを求めているものであり、それも同様に掲示されるべきです。さもなければ、 'save!'が失敗すると 'save !'はエラーをスローし、' save'は単に 'false'を返します。現在、誤っていないことを誤って返すように思われるかもしれません。 –

答えて

3

あなたは、コントローラのメソッド

のみを使用し

if @reimbursements.save 

これはtrueまたはfalseを返しますので、それが行くのSaveから感嘆のマークを削除する必要があります検証が失敗したときのelse部分。 !を追加!保存すると、コントローラに検証エラーがスローされます。

あなたはおそらく `reimbursements_params`とあまりにもサーバーに送信されたJSONのためのコードを貼り付けする必要があり、さらに情報https://apidock.com/rails/ActiveRecord/Base/save%21

+0

Railsではなく、[このドキュメント](http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method--save)にリンクすることもできますが、私はそれらのコメントを入力しています。 2.3 4つの可能な他のものにつながるもの –

関連する問題