MassAssignmentSecurity 是 rails 在保护你。假如params是外边传进来的,那么用户岂不是可以随便改你的数据?
#what if
params[:name] == "created_at"
params[:name] == "secret_password"
你可以用attr_accessible 列出你允许更改的 attributes, 比如
class Obj < ActiveRecord::Base
#...
attr_accessible :name, :description
end
就不会出错了, 另外
":#{s}"
是不是应该换成
s.to_sym