diff --git a/lib/rspec/openapi/extractors/rails.rb b/lib/rspec/openapi/extractors/rails.rb index 6165505..37ea5b5 100644 --- a/lib/rspec/openapi/extractors/rails.rb +++ b/lib/rspec/openapi/extractors/rails.rb @@ -48,13 +48,14 @@ def find_rails_route(request, app: Rails.application, path_prefix: '') path = route.path.spec.to_s.delete_suffix('(.:format)') if route.app.matches?(request) + path_id = add_id(request.path, parameters) if route.app.engine? route, path = find_rails_route(request, app: route.app.app, path_prefix: path) next if route.nil? - elsif path_prefix + path == add_id(request.path, parameters) + elsif path_prefix + path == path_id return [route, path_prefix + path] else - return [route, nil] + return [route, path_id] end return [route, path_prefix + path] end