Method: Merb::Router.generate

Defined in:
lib/merb-core/dispatch/router.rb

.generate(name, params = {}, fallback = {}) ⇒ Object

Generates a URL based on passed options.

Parameters

name<~to_sym, Hash>

The name of the route to generate.

params<Hash, Fixnum, Object>

The params to use in the route generation.

fallback<Hash>

Parameters for generating a fallback URL.

Returns

String

The generated URL.

Alternatives

If name is a hash, it will be merged with params and passed on to generate_for_default_route along with fallback.



120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/merb-core/dispatch/router.rb', line 120

def generate(name, params = {}, fallback = {})
  params.reject! { |k,v| v.nil? } if params.is_a? Hash
  if name.is_a? Hash
    name.reject! { |k,v| v.nil? }
    return generate_for_default_route(name.merge(params), fallback)
  end
  name = name.to_sym
  unless @@named_routes.key? name
    raise "Named route not found: #{name}"
  else
    @@named_routes[name].generate(params, fallback)
  end
end