首页 > 解决方案 > 创建了 POST 路由,但导致 RoutingError(No Route 与 POST 匹配)

问题描述

我正在设置一个可以 POST 到(创建)的新路由“/v1/example_two”,但是它导致没有路由匹配 [POST]RoutingError

我尝试过明确说明帖子,尝试通过资源创建路由

配置/路由.rb

Rails.application.routes.draw do

  resources :roles, only: [:index], defaults: { format: :xml }

  defaults format: :json do
    scope :v1 do
      resources :example_one, only: [:create, :show], param: :uuid
      resources :example_two, only: [:create], param: :uuid
    end
  end
end

我有一个控制器:

应用程序/控制器/example_two.rb

class example_two < ApplicationController
  def create
    ...
  end
end

我希望它返回 example_two#create 中的任何内容,但是当我向 Postman或在 Postman 中ActionController::RoutingError (No route matches [POST] \"/v1/example_two\"提交 POST 请求时,它会导致/v1/example_two/v1/example_two/123

标签: ruby-on-railsroutes

解决方案


原来我是从主机而不是在 docker 容器中修改的,所以routes.rb没有更新


推荐阅读