2017-04-02 22 views
0

我写它有一个评论控制器的应用程序,在控制器内部, 它有一个像为什么我需要在控制器中再次指定许可证?

def comment_params 
    params.require(:comment).permit(:text) 
end 

强大的参数,但我发现我还需要当我在使用

@comment = @post.comments.build(params[:comment].permit(:text))添加许可证创建方法或我会收到错误。

我想知道这里的原因。我正在使用Rails5。

回答

1

为什么我需要在控制器中再次明确允许?

因为您没有使用您的comment_params

@post.comments.build(comment_params) 

没有魔法,你应该使用你的方法。

在这段代码中你不使用它:

@post.comments.build(params[:comment].permit(:text)) 
+0

我试过了,没有错误,但文字不被读取或者,为什么呢? –

+0

这是另一个问题。 –

+0

但是当我使用@ post.comments.build(params [:comment] .permit(:text))时它是正确的 –

相关问题