Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActiveResource::在对基元属性进行一次更新后尝试保存时出现BadRequest错误_Ruby On Rails_Ruby_Activeresource - Fatal编程技术网

Ruby on rails ActiveResource::在对基元属性进行一次更新后尝试保存时出现BadRequest错误

Ruby on rails ActiveResource::在对基元属性进行一次更新后尝试保存时出现BadRequest错误,ruby-on-rails,ruby,activeresource,Ruby On Rails,Ruby,Activeresource,我目前正在使用一个RESTAPI,它有一个属性为“name”的对象 我可以毫无问题地遍历项目的属性,其中一个属性确实是“name”。但是,当我尝试以下操作时: item.attributes["name"] = "New Name" 我可以确认属性“name”已经更新,但是在调用 item.save 导致ActiveResource::BadRequest(400)错误。以前有人遇到过这样的问题吗 谢谢 我试过上面的方法,我也试过了 item = person.find(id) item.n

我目前正在使用一个RESTAPI,它有一个属性为“name”的对象

我可以毫无问题地遍历项目的属性,其中一个属性确实是“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,因为保存是固有执行的

似乎无论我尝试什么,我都会继续看到以下的stacktrace:

ActiveResource::BadRequest (Failed.  Response code = 400.  Response message = Bad Request.): 
app/controllers/home_controller.rb:84:in `update_data'
其中第84行是更新ActiveResource对象的事件。

看起来在最新稳定版本的Rails上不推荐使用。最新的现有版本(v3.1.0)

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

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

update\u attribute
将保存记录(如果有效),因此您不必在记录上调用
save

您使用的是哪个版本的Rails?Rails版本4.2.0。活动资源版本4.0.0谢谢。我还尝试了更新_属性,但没有成功(相同的错误)。您能显示完整的代码片段吗?还有,您使用的是哪个版本的Rails?谢谢您对我的耐心。堆栈跟踪已发布在上面,我正在尝试获取更详细的堆栈跟踪。您可以发布完整的控制器代码吗?以及您的强大参数。此外,完整的堆栈跟踪意味着rails日志中的所有内容非常感谢K M Rakibul Islam。我无法轻松找到日志,因为我们的一名团队成员添加了一个超越传统Rails日志的gem。我发现了这个问题,这完全不相关——我未能将属性转换为可接受的类型,因此我的json格式不正确。这是我的第一篇文章。我会尽量在将来提供我的问题和必要的信息时提供更多的帮助。再次感谢。
item.update_attribute(:name, "New Name")