У меня есть контроллер /dashboard/sites_controller.rb
, в рамках которого у меня есть действие attendance_summer_city_camp_integrativ
def attendance_summer_city_camp_integrativ
@site = Site.find(params[:site_id])
respond_to do |format|
format.xlsx
end
end
Возвращает Excel, как вы можете видеть.
config/routes.rb
namespace :dashboard do
resources :sites do
get :attendance_summer_city_camp_integrativ
end
end
В моем тестовом файле, когда я делаю запрос на получение по этому адресу, я получаю
No route matches {:action=>"/dashboard/sites/24/attendance_summer_city_camp_integrativ.xlsx", :controller=>"dashboard/sites"}
describe 'GET #attendance_summer_city_camp_integrativ' do
subject do
get dashboard_site_attendance_summer_city_camp_integrativ_path(site.id, format: :xlsx)
end
end
Failure/Error: get dashboard_site_attendance_summer_city_camp_integrativ_path(site.id, format: :xlsx)
ActionController::UrlGenerationError:
No route matches {:action=>"/dashboard/sites/24/attendance_summer_city_camp_integrativ.xlsx", :controller=>"dashboard/sites"}
Когда я иду по этому адресувручную в браузере работает нормально.
Started GET "/dashboard/sites/6/attendance_summer_city_camp_integrativ.xlsx" for 127.0.0.1 at 2019-06-28 18:18:46 +0200
Processing by Dashboard::SitesController#attendance_summer_city_camp_integrativ as XLSX
Что я делаю не так?