2017-02-08 3 views
0

Я пытаюсь удалить Comment, который является вложенным ресурсом объекта Post.rails 5 вложенное удаление ресурсов

Я получаю это сообщение:

ActionController :: ParameterMissing в CommentsController # уничтожить параметров отсутствует или значение пустое: комментарий

Извлеченные источник:

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 

и в представлении (частичный _comment.html.erb вызывается из postshow.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, но это не помогает решить проблему.

Thanks

+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

такой же результат с вашим решением ... –

Смежные вопросы