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 |