gpt4 book ai didi

update-attributes - Rails 4中未定义的方法update_attributes

转载 作者:行者123 更新时间:2023-12-04 13:19:22 24 4
gpt4 key购买 nike

我现在正在使用Rails 4
现在我想更新我的用户记录
我正在尝试使用此命令

@user=User.update_attributes(:name=> params[:name], :user=> params[:username], :pass=> params[:password])
OR
@user=User.update_attributes(name: params[:name], user: params[:username], pass: params[:password])

但总是得到错误
undefined method `update_attributes' 

所以我如何更新我的用户
我也想问一问,它将更新我数据库中的所有用户吗?

我想我必须添加一些条件,例如 where id=@user.id,但是我不知道如何在Rails中做到这一点!!!

最佳答案

update_attributes是实例方法而不是类方法,因此首先需要在User类的实例上调用它。

获取您要更新的用户:
例如假设您要更新ID为1的用户

 @user = User.find_by(id: 1)
now if you want to update the user's name and password, you can do

任何一个
 @user.update(name: "ABC", pass: "12345678")

或者
 @user.update_attributes(name: "ABC", pass: "12345678")

在您的情况下,请相应地使用它。

有关更多引用,请引用 Ruby on Rails Guides

您可以使用 update_all方法来更新所有记录。
这是一个类方法,因此您可以将其称为
以下代码将更新所有用户记录的名称并将其设置为“ABC”
User.update_all(名称:“ABC”)

关于update-attributes - Rails 4中未定义的方法update_attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21605186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com