Changeset 630

Show
Ignore:
Timestamp:
09/11/07 07:07:49 (1 year ago)
Author:
duane.johns..@gmail.com
Message:

Add path prefix to URLs generated by ControllerMixin#url? (if there is a path prefix)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/merb/mixins/controller.rb

    r573 r630  
    5050      end 
    5151       
    52       if route_name.nil? && !route.regexp? 
    53         url_from_route(route, new_params) 
    54       elsif route_name.nil? 
    55         request.path + (new_params.empty? ? "" : "?" + new_params.to_params) 
    56       elsif route_name.is_a?(Symbol) 
    57         url_from_route(route_name, new_params) 
    58       elsif route_name.is_a?(String) 
    59         route_name + (new_params.empty? ? "" : "?" + new_params.to_params) 
    60       else 
    61         raise "URL not generated: #{route_name.inspect}, #{new_params.inspect}" 
    62       end 
     52      url = if route_name.nil? && !route.regexp? 
     53          url_from_route(route, new_params) 
     54        elsif route_name.nil? 
     55          request.path + (new_params.empty? ? "" : "?" + new_params.to_params) 
     56        elsif route_name.is_a?(Symbol) 
     57          url_from_route(route_name, new_params) 
     58        elsif route_name.is_a?(String) 
     59          route_name + (new_params.empty? ? "" : "?" + new_params.to_params) 
     60        else 
     61          raise "URL not generated: #{route_name.inspect}, #{new_params.inspect}" 
     62        end 
     63      url = MerbHandler.path_prefix + url if MerbHandler.path_prefix 
     64      url 
    6365    end 
    6466 
  • trunk/lib/merb/mongrel_handler.rb

    r564 r630  
    1313  @@file_only_methods = ["GET","HEAD"] 
    1414  @@path_prefix = nil 
     15  @@path_prefix_original = nil 
    1516   
    1617  class << self 
    1718    # Use :path_prefix in merb.yml to set this 
    18     def path_prefix() @@path_prefix end 
     19    def path_prefix() @@path_prefix_original end 
    1920    def path_prefix=(prefix) 
     21      @@path_prefix_original = prefix 
    2022      @@path_prefix = (prefix.is_a?(String) ? Regexp.new("^" + prefix.escape_regexp) : prefix) 
    2123    end