我不知道术语"质量赋值"是否特定于Rails,但我得到的基本思想是,当你在同一个方法中为一堆变量赋值时,质量赋值.
这是一个正确的定义,为什么有一个特殊的名称?
Rails中的批量分配是指您使用类似的User.new(:name => "David", :occupation => "Code Artist")方法一次设置行的所有值.当您将此代码更改为更类似时,会出现危险User.new(params[:user]).现在,最终用户可能会恶意制作作为参数传入的Hash User.new并设置您不期望的变量.因此需要attr_accessible和attr_protected限制最终用户设置他们不应该直接影响的字段的能力.