为什么我需要在控制器中再次指定许可证?

时间:2017-04-02 09:10:30

标签: ruby-on-rails ruby strong-parameters

我正在编写一个应用程序,它在控制器内部有一个注释控制器, 它有像

这样强大的参数
def comment_params
  params.require(:comment).permit(:text)
end

但我发现在使用

时我仍需要添加许可证 在create方法中

@comment = @post.comments.build(params[:comment].permit(:text)),否则我将收到错误。

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

1 个答案:

答案 0 :(得分:1)

  

为什么我需要在控制器中再次获得特定许可?

因为您没有使用public void setMobile(String mobile) { boolean hasDigit = false; char[] mob = mobile.toCharArray(); for(int index = 0; Character.isDigit(mob) == true; index++) { if(mobile.matches(".*\\d+.*") == true) { hasDigit = true; } } if(hasDigit == false) // if no digits found { this.mobile = mobile; } }

comment_params

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

在此代码中,您没有使用它:

@post.comments.build(comment_params)