gpt4 book ai didi

ruby-on-rails - 一次更新原始属性后尝试保存时出现 ActiveResource::BadRequest 错误

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:23 25 4
gpt4 key购买 nike

我目前正在使用一个 REST API,该 API 有一个带有“名称”属性的对象。

item = person.find(id)

我可以毫无问题地遍历项目的属性,其中一个属性确实是“名称”。但是,当我尝试以下操作时:

item.attributes["name"] = "New Name"

我可以确认属性“name”已经更新,但是在调用之后

item.save

导致 ActiveResource::BadRequest (400) 错误。以前有人遇到过这样的问题吗?

谢谢!

上面的我都试过了,我也试过了

item = person.find(id)
item.name = "New Name"
item.save

最后,根据建议,我尝试了

item.update_attribute(:name, "New Name")

并省略了 item.save,因为保存是固有执行的。

似乎无论我尝试什么,我都会继续看到以下堆栈跟踪:

ActiveResource::BadRequest (Failed.  Response code = 400.  Response message = Bad Request.): 
app/controllers/home_controller.rb:84:in `update_data'

第 84 行是更新 ActiveResource 对象的事件。

最佳答案

看起来像attributes=在 Rails 的最新稳定版本中已弃用。最后一个现有版本 (v3.1.0)。

相反,您可以使用 update_attribute更新记录的属性:

item.update_attribute(:name, "New Name")

update_attribute 将保存记录(如果有效),因此您不必对其调用save

关于ruby-on-rails - 一次更新原始属性后尝试保存时出现 ActiveResource::BadRequest 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32231000/

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