【问题标题】:Created POST route, but resulting in RoutingError (No Route matches POST)创建了 POST 路由,但导致 RoutingError(No Route 与 POST 匹配)
【发布时间】:2019-07-08 18:22:51
【问题描述】:

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

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

config/routes.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

我有一个控制器:

app/controllers/example_two.rb

class example_two < ApplicationController
  def create
    ...
  end
end

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

【问题讨论】:

  • 你指定的路径中的api在哪里,在routes.rb文件中看不到
  • rake routes 的输出是什么?
  • @Eyeslandic 抱歉,我的意思是我正在使用 Postman 向 /v1/example_two/v1/example_two/123 发出 POST 请求(不确定我应该发到哪一个)

标签: ruby-on-rails routes


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 2021-07-15
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多