2017-02-08 17 views
0

PostオブジェクトのネストされたリソースであるCommentを削除しようとしています。rails 5ネストされたリソースの削除

私はこのメッセージが表示されます。

ActionController ::のCommentsController#でParameterMissingはPARAM が欠落しているか、値が空の破壊:

def comments_params 
    ActionController::Parameters.permit_all_parameters = true 
    params.required(:comment).permit(:author,:body) 
end 

抽出されたソースをコメントここにコードです:

def destroy 
    @comment.destroy 
end 

def comments_params 
    ActionController::Parameters.permit_all_parameters = true 
    params.required(:comment).permit(:author,:body) 
end 

ビューで(部分postshow.html.erbから呼び出さ_comment.html.erb):

<%= link_to 'Destroy Comment', [comment.post,comment], 
    method: :delete, 
    data: { confirm: 'Are you sure?' } %> 

リクエストパラメータである:

{ "_method" => "削除"、 "authenticity_token" => "XXXXXXXXXXXXXXXXXXXXXXXXXXX"、 "post_idの" => "テスト2"、 "ID" => "3"}

comments_paramメソッドでさまざまなパラメータを追加しようとしましたが、問題の解決には役立ちません。

ありがとう

+0

これは有効なpost_idのようですか? "post_id" => "test-2" – saadlulu

+0

post_idがfriendly_idの宝石であるため、post_idが "2"であっても同じ結果が発生します。 –

答えて

0

コメントを見つけた後、特定のコメントを破棄した後。

before_filter :find_comment, :only => [:destroy] 

    def destroy 
     @comment.destroy 
    end 

    def find_comment 
     @comment = Comment.get(params[:id]) 
    end 

    private 

    def comments_params 
     params.required(:comment).permit(:author,:body) 
    end 
+0

あなたの解決策と同じ結果... –

関連する問題