current_page?(options) public

Returns true if the current page uri is generated by the options passed (in url_for format).

Show source
Register or log in to add new notes.
January 16, 2009
7 thanks

/products/1

Code example

current_page?(product_path(@product))
# => true
January 2, 2009
3 thanks

current_action? and current_controller?

I use them in link_unless_current_controller helper.

def current_action?(options)
  url_string = CGI.escapeHTML(url_for(options))
  params = ActionController::Routing::Routes.recognize_path(url_string, :method => :get)
  params[:controller] == @controller.controller_name && params[:action] == @controller.action_name
end

def current_controller?(options)
  url_string = CGI.escapeHTML(url_for(options))
  params = ActionController::Routing::Routes.recognize_path(url_string, :method => :get)
  params[:controller] == @controller.controller_name
end
December 11, 2008
3 thanks

with resources

/products

current_page?(products_path)

# => true