You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PATCH请求返回true而非更新用户数据问题求助

问题原因
  • Rails 的 update! 方法返回的是布尔值(更新成功返回 true,失败则抛出异常),你将这个返回值赋值给了 updated_user,所以后端最终返回给前端的 JSON 数据就是 true,而非更新后的用户对象。
修复方案

修改后端的 update 方法,直接返回已修改的 @user 对象即可——因为 update! 已经完成了对 @user 属性的修改和数据库保存:

def update
  @user.update!(user_params)
  render json: @user, status: :accepted
end
补充说明
  • update! 执行成功时会直接修改 @user 实例的属性并同步到数据库,返回值仅用于标识操作结果,并非更新后的对象。
  • 若更新失败,update! 会主动抛出 ActiveRecord::RecordInvalid 异常,你可以根据需求添加异常捕获逻辑。

内容的提问来源于stack exchange,提问作者oogy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 17:32:10