У меня есть этот маршрут
get 'versions' => 'main#versions', formats: [:xml]
В моем MainController
у меня есть действие versions
, таким образом:
class MainController < ApplicationController
...
def versions
render formats: [:xml]
end
end
и под app/views/main
у меня versions.xml.erb
.
Я написал тест контроллера RSpec:
требуется 'rails_helper'
RSpec.describe MainController, type: :controller do
...
describe '#versions' do
it 'renders versions template' do
get :versions, formats: [:xml]
expect(response).to render_template(:versions)
end
end
end
Однако я продолжаю получать эту ошибку:
Failure/Error: get :versions, formats: [:xml]
ActionController::UrlGenerationError:
No route matches {:action=>"versions", :controller=>"main", :formats=>["xml"]}
Однако, когда я запускаю rake routes
, я получаю:
versions GET /versions(.:format) main#versions {:formats=>[:xml]}
Я все еще не понимаю, почему я получаю эту ошибку, когда существует маршрут с правильными параметрами.
Ruby 2.1.5
Рельсы 4.1.6
RSpec 3.8.x
ПРИМЕЧАНИЕ. Я вынужден не переписывать код и предлагать только изменения.