我有一个Secret具有 3 个字段的模型f1:f2和f3。
我有一个表单,用户只能输入 f1和f2. 不是f3。
将值传递给新对象的最佳方法是什么?
如果我写@secret = Secret.new(params[:secret]),邪恶的用户可能会传递f3给我的模型,并将其保存在模型中。
防止用户传递额外值的最佳方法是什么?
我阅读了http://guides.rubyonrails.org/security.html#mass-assignment并且有 3 个变体:
1)黑名单(attr_protected :f3)
2)白名单(attr_accessible :f1, :f2) 3)全局白名单(通过配置行
强制)attr_accessibleconfig.active_record.whitelist_attributes = true
什么方法最好?