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

Rails中jsonapi_resource GET请求无数据返回,路由匹配失败求助

问题原因与解决方法

你的问题出在路由定义上:

  • 你使用了jsonapi_resource :authors(单数形式的路由助手),这个方法只会生成单个资源的路由,对应的路径是/author/:id,而非/authors/:id。
  • POST请求返回的链接是/authors/4,但这个路径并未被当前路由规则匹配,因此触发404错误。

解决步骤

修改routes.rb中的路由定义,将单数的jsonapi_resource替换为复数的jsonapi_resources:

Rails.application.routes.draw do
  get '/', to: 'status#index'
  jsonapi_resources :authors
end

修改后会生成符合REST规范的复数资源路由,包含:

  • GET /authors:获取所有作者列表
  • GET /authors/:id:获取单个作者详情
  • POST /authors:创建新作者
  • PATCH/PUT /authors/:id:更新作者信息
  • DELETE /authors/:id:删除作者

修改完成后重启服务器,访问/authors/4即可正常获取数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 09:10:19