Fel*_*lix 0 ruby ruby-on-rails ruby-on-rails-4
嗨我已经从rails 3.2.12升级到4.0.0大多数人认为现在工作正常,但是我收到了这个错误:

在这种情况下是什么问题?
消息签名从两个参数更改为一个.比较v3.2.12和V4.0.2:
assign_attributes(new_attributes, options = {}) # 3.2.12
assign_attributes(new_attributes) # 4.0.2
Run Code Online (Sandbox Code Playgroud)
Rails 3质量分配保护已弃用,这是其中的一部分.从质量赋值中保护属性被提取到gem中.从其自述文件:
您还可以使用该
:without_protection选项绕过质量分配安全性.
在版本4.x中,您不再需要该:without_protection选项,因为我们鼓励您使用强参数.
为了顺利升级,您可以将protected_attributes宝石捆绑起来.但请注意"在Rails 5.0发布之前,这个插件将得到官方支持."
此外,您不需要使用@user.send(:update_attributes, …),您可以使用@user.update_attributes(…).