分配属性,您必须将哈希作为参数



我刚刚从铁路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?

最新更新