私は2つのバージョンのAPI(1 & 2)を持っています.APIバージョン2のコントローラは、APIバージョン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