2016-12-25 13 views
0

1つのレコードを更新しようとしていますが、引数が正しくありません。Ruby - 1の引数が間違っています

私はこのURL throughtそれを試してみるために郵便配達を使用しています>ローカルホスト:3000 /確認/ 32(方法をPUT)

私のコントローラのconfirmation_controller "

def update 

     @confirmation = Invite.find(params[:id]) 
     #if params[:estado] == 'Confirmar' 
      @confirmation.estado = 'Confirmado' 
     #elsif params[:estado] == 'Cancelar' 
      #@confirmation.estado = 'Cancelado' 
     #end 
     if @confirmation.update 
      @user = User.joins(:postulation).where(:postulation => {:id => @confirmation.postulation_id}) 
      #Tengo que pasarle el usuario que le confirmo 
      UserNotifier.send_confirmation_to_user(@confirmation, @user) 
     end 
    end 

マイルート

resources :confirmations, only: [:index, :update, :edit] 

主な考え方は、ユーザーに[確認]ボタンがあり、それを押すと、招待状のステータスが変わります。だから私はそのフィールドを簡単に更新しようとしています。なぜ私はparamを得ることができないのか理解できません。

ありがとうございます。誰かのような

+0

[あなたの 'update'は間違っています](http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-update)。代わりに 'save'を使うか、' @ confirmation.update(estado: 'Confirmado') ' – julp

+0

を書きます。私が従うことができる「保存」メソッドの例とのリンクがありますか?感謝 –

+0

'@ confirmation'(' puts @ confirmation.inspect')を '@ confirmation.estado'行の後に印刷すると、何が得られますか? – inye

答えて

0

あなたが使用する必要があり、前にも言った:confirmation.save @ モデルの検証を介して実行し、DBへのオブジェクトへの変更を保存します

http://apidock.com/rails/ActiveRecord/Base/save

(または.SAVE!)。

関連する問題