我有我的API的2個版本(1 & 2)api版本2的控制器從api版本1的控制器繼承。問題是,版本1的規格運行良好,但是當我運行在第2版規範,它告訴我沒有路由匹配的繼承(創建)動作
ActionController::UrlGenerationError: No route matches {:action=>"create", :controller=>"api/mobile/v2/samples"}
#version 1
class Api::Mobile::V1::SamplesController < ApplicationController
def create
#dummy
end
end
#version 2
require "meta_data"
class Api::Mobile::V2::SamplesController < Api::Mobile::V1::SamplesController
include MetaData
end
#spec for version 1
require 'rails_helper'
RSpec.describe Api::Mobile::V1::SamplesController, type: :controller do
describe "POST #create" do
it "performs a post" do
post :create
end
end
end
#spec for version 2
require 'rails_helper'
RSpec.describe Api::Mobile::V2::SamplesController, type: :controller do
describe "POST #create" do
it "performs a post" do
post :create
end
end
end
你的路線中是否有類似以下內容? 'namespace:api do namespace:mobile do namespace:v2 resources:samples end end end' –
是的,該應用程序工作正常。這只是我無法啓動和運行的測試。 – simon