ActionController :: UrlGenerationError: Не найдено ни одного маршрута {: action => "index",: controller => "api / v1 / themes",: format =>: json} - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть мой themes_controller внутри папки (api / v1 /) как

class Api::V1::TopicsController < ApplicationController
  def index
    @topics = Topic.all
    render json: @topics
  end
end

Когда я пытаюсь написать rspec для приведенного выше кода как:

require 'rails_helper'
require 'spec_helper'

RSpec.describe Api::V1::TopicsController do
  describe "GET #index" do
    it "should return a successful response" do
      get :index, format: :json
      expect(response).to be_success
    end
  end
end

Я получаю ошибку:

ActionController::UrlGenerationError: No route matches {:action=>"index", :controller=>"api/v1/topics", :format=>:json}.

Но у меня правильный маршрут, я не знаю, почему он так показывает. Любое решение приветствуется.

У меня есть мой маршрут как:

Rails.application.routes.draw do
  namespace :api, defaluts: {format: :json} do
    namespace :v1 do
      resources :topics
    end
  end
end

Ответы [ 3 ]

0 голосов
/ 03 сентября 2018

У вас есть опечатка. defaluts: {format: :json} должно быть defaults: {format: :json}

0 голосов
/ 03 сентября 2018

Хорошо, ребята, у меня была опечатка в «значениях по умолчанию». Каждый будет делать опечатки, так что вам не нужно понижать мой вопрос.

0 голосов
/ 03 сентября 2018

Опечатка в маршрутах: namespace :api, defaluts: {format: :json} => defaults

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...