我正在使用之前从Rails 3升级的Rails 4应用程序。我之前没有使用过很多Rails 3。我遇到过这样的事情user.update_attributes({ attr => bulk_update_params[attr] }, :as => :admin)
。 Rails 4目前抱怨update_attributes
只接受1个参数而不是2个。
我尝试通过as: :admin
合并user.update_attributes({ attr => bulk_update_params[attr] }).merge(as: :admin)
,但后来我接受了类似" as"不是已知的属性"。
不完全确定,但我如何处理as: admin
部分?完全删除它是否安全,或者是否可以将as: :admin
传递给Rails 4中的原始user.update_attributes({ attr => bulk_update_params[attr] }, :as => :admin)
?
我认为它与attr_accessible
和strong_params
有关,现在还不确定如何在Rails 4中使用它。有什么想法吗?
答案 0 :(得分:0)
看一下强参数。允许的属性应在控制器中确定,而不是模型
http://edgeguides.rubyonrails.org/action_controller_overview.html#strong-parameters
例如控制器会有
console.log(json.length)
答案 1 :(得分:0)
尝试将as:admin移动到哈希
中 user.update_attributes({ attr => bulk_update_params[attr], :as => :admin })
您可能还想考虑使用update_attributes! (最后有一个!)所以如果有错误,它会爆炸而不会无声地失败。