`params.require(:person).permit(:name,:age)`和'params.require(:person).permit!'之间有什么区别?

时间:2016-02-03 13:04:52

标签: ruby-on-rails ruby-on-rails-4

我想知道使用

之间的区别
  def person_params
    params.require(:person).permit!
  end

  def person_params
    params.require(:person).permit(:name, :age)
  end

1 个答案:

答案 0 :(得分:3)

<强> permit!

  

将allowed属性设置为true

这允许您发送给它的任何内容。

在另一个

permit(*filters)

  

返回一个新的ActionController :: Parameters实例,该实例仅包含给定的过滤器,并将该对象的allowed属性设置为true。这对于限制应该允许哪些属性进行批量更新非常有用。

所以,如果你允许(:name,:age)并传入:性别,则不允许这样做。