我刚刚从铁路4.0.0升级到4.1.0。
现在我有一个错误:
分配属性时,您必须将哈希作为参数传递。
这是我的控制器操作的相关部分:
# app/models/users_controller.rb
def create_user
@user = User.new()
@user.update_attributes(params[:user])
我该如何解决?
这里有类似的问题,因此我的问题与已发布的问题不同,因为没有解决方案的提示。
如果要允许在空中传递params[:user]
,则可以这样做以防止抛出例外:
@user.update_attributes(params[:user]) unless params[:user].blank?
但是,这可能是一个奇怪的行为,因为控制器动作旨在创建User
。
在导轨中,还有一种方法present?
,即blank?
的倒数。您可以使用任何更清晰的人。
@user.update_attributes(params[:user]) if params[:user].present?