Class | ActionController::Routing::Optimisation::PositionalArgumentsWithAdditionalParams |
In: |
vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb
|
Parent: | PositionalArguments |
This case is mostly the same as the positional arguments case above, but it supports additional query parameters as the last argument
To avoid generating "localhost/?host=foo.example.com" we can‘t use this optimisation on routes without any segments
# File vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb, line 122 122: def applicable? 123: super && route.segment_keys.size > 0 124: end
This case uses almost the same code as positional arguments, but add a question mark and args.last.to_query on the end, unless the last arg is empty
# File vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb, line 116 116: def generation_code 117: super.insert(-2, '#{\'?\' + args.last.to_query unless args.last.empty?}') 118: end