Module Merb::Slices::Support
In: merb-slices/lib/merb-slices/controller_mixin.rb

Methods

slice_url  

Public Instance methods

Generate a slice url - takes the slice‘s :path_prefix into account.

@param slice_name<Symbol>

  The name of the slice - in identifier_sym format (underscored).

@param *args<Array[Symbol,Hash]>

  There are several possibilities regarding arguments:
  - when passing a Hash only, the :default route of the current
    slice will be used
  - when a Symbol is passed, it's used as the route name
  - a Hash with additional params can optionally be passed

@return <String> A uri based on the requested slice.

@example slice_url(:awesome, :format => ‘html’) @example slice_url(:forum, :posts, :format => ‘xml’)

[Source]

    # File merb-slices/lib/merb-slices/controller_mixin.rb, line 25
25:       def slice_url(slice_name, *args)
26:         opts = args.last.is_a?(Hash) ? args.pop : {}
27:         route_name = args[0].is_a?(Symbol) ? args.shift : :default
28:         
29:         routes = Merb::Slices.named_routes[slice_name]
30:         unless routes && route = routes[route_name]
31:           raise Merb::Router::GenerationError, "Named route not found: #{route_name}"
32:         end
33:         
34:         args.push(opts)
35:         route.generate(args, params)
36:       end

[Validate]