method
generate
v4.0.2 -
Show latest stable
-
0 notes -
Class: Formatter
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2 (0)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- What's this?
generate(type, name, options, recall = {}, parameterize = nil)
public
Hide source
# File actionpack/lib/action_dispatch/journey/formatter.rb, line 15 def generate(type, name, options, recall = {}, parameterize = nil) constraints = recall.merge(options) missing_keys = [] match_route(name, constraints) do |route| parameterized_parts = extract_parameterized_parts(route, options, recall, parameterize) # Skip this route unless a name has been provided or it is a # standard Rails route since we can't determine whether an options # hash passed to url_for matches a Rack application or a redirect. next unless name || route.dispatcher? missing_keys = missing_keys(route, parameterized_parts) next unless missing_keys.empty? params = options.dup.delete_if do |key, _| parameterized_parts.key?(key) || route.defaults.key?(key) end return [route.format(parameterized_parts), params] end message = "No route matches #{constraints.inspect}" message << " missing required keys: #{missing_keys.inspect}" if name raise ActionController::UrlGenerationError, message end