2017-10-24 12 views
1

コントローラにIDを渡す際に問題があります。私は要求を受け入れて拒否する機能を持っています。コントローラにIDを渡すRails

@friend = Friend.find(params[:id]) 
@friend.update(value_params) 

、それが自動的にユーザーIDが、私は同じにできるようにしたいが、それは受け入れるか拒否クリックしたときに、この時間は私がのIDを取得したい値

を作成したのIDを更新更新値を作成し、それをリクエストに挿入して友人テーブルを更新する:for_id =>のパラメータとして渡します。

このようにリクエストを作成したユーザーは、彼女のID

は、私はこれを使用してみましたが、それは文句を言わない、それはちょうど、挿入句や文でfor_id含まれていないエラーがそれだけでdoesntの

+0

はあなたの問題を引き起こす挿入コードですか?もしそうなら、エラーは何ですか? –

+0

挿入句または文にfor_idが含まれているだけのエラーはありません – John

+0

テーブル 'requests'に' for_id'という列がありますか? –

答えて

1

がでfor_idを含まない

@friend = Friend.find(params[:id]) 
@req = Request.new(:for_id => @friend) 

データベースに挿入します句や文を挿入し

はあなたserver log

からこの文を含めてください私たちはあなたが達成しようとしているものを @reqに保存していないので、

も説明しているので、サーバが何らかの理由でinsertを実行する理由は本当にわかりません。

あなたがinsert文の場合friend has_many requests

  1. を持ちたいなら、あなたは実行する必要があります。

    @friend.requests << @req 
    @friend.update(value_params) 
    
  2. をあなたのDBにあなたの@reqを保存するために行います。

    @req.save 
    

これはおそらく間違っていますが、あなたが達成しようとしていることを明確に説明する機会です

関連する問題