我使用邮递员提出PUT
或PATCH
请求,但它说No route matches [PUT] "/api/registrations"
我的网址看起来像这样
http://localhost:3000/api/registrations?id=5&status=approved"
我的routes.rb文件:
Rails.application.routes.draw do
scope :api do
resources :professors
resources :registrations
resources :schedules
resources :notifications
resources :users
resources :meetings
resources :courses
resources :students
end
end
我的RegistrationsController中有一个已定义的update
方法,我的POST和GET路由可以正常工作。
答案 0 :(得分:2)
您正在使用的网址不详。您不应在查询中传递id
,而应在路径中传递。
正确的网址是
http://localhost:3000/api/registrations/5?status=approved
Rails将id设置为资源路由的最后一个元素。
Docs说:
resources :photos
(...)
PATCH/PUT
/photos/:id
photos#update
更新特定照片
答案 1 :(得分:0)
在命令行上运行rails routes
以获取正确的URL模式,并且它与Controller操作匹配。