ActiveResource::BadRequest 对原始属性进行一次更新后尝试保存时出错
ActiveResource::BadRequest error when trying to save after one update to a primitive attribute
我目前正在使用一个 REST API,它有一个带有属性 "name."
的对象
item = person.find(id)
我可以毫无问题地遍历项目的属性,其中一个属性确实是 "name." 但是,当我尝试以下操作时:
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
。
我目前正在使用一个 REST API,它有一个带有属性 "name."
的对象item = person.find(id)
我可以毫无问题地遍历项目的属性,其中一个属性确实是 "name." 但是,当我尝试以下操作时:
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
。