instance method current_page?

Ruby on Rails 3.0.20

Since v2.2.3

Available in: v2.2.3 v2.3.18 v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

current_page?(options)

True if the current request URI was generated by the given options.

Examples

Let’s say we’re in the /shop/checkout?order=desc action.

current_page?(:action => 'process')
# => false

current_page?(:controller => 'shop', :action => 'checkout')
# => true

current_page?(:controller => 'shop', :action => 'checkout', :order => 'asc')
# => false

current_page?(:action => 'checkout')
# => true

current_page?(:controller => 'library', :action => 'checkout')
# => false

Let’s say we’re in the /shop/checkout?order=desc&page=1 action.

current_page?(:action => 'process')
# => false

current_page?(:controller => 'shop', :action => 'checkout')
# => true

current_page?(:controller => 'shop', :action => 'checkout', :order => 'desc', :page=>'1')
# => true

current_page?(:controller => 'shop', :action => 'checkout', :order => 'desc', :page=>'2')
# => false

current_page?(:controller => 'shop', :action => 'checkout', :order => 'desc')
# => false

current_page?(:action => 'checkout')
# => true

current_page?(:controller => 'library', :action => 'checkout')
# => false

Parameters

options req
Source
# File actionpack/lib/action_view/helpers/url_helper.rb, line 560
      def current_page?(options)
        unless request
          raise "You cannot use helpers that need to determine the current " \
                "page unless your view context provides a Request object " \
                "in a #request method"
        end

        url_string = url_for(options)

        # We ignore any extra parameters in the request_uri if the
        # submitted url doesn't have any either.  This lets the function
        # work with things like ?order=asc
        if url_string.index("?")
          request_uri = request.fullpath
        else
          request_uri = request.path
        end

        if url_string =~ /^\w+:\/\//
          url_string == "#{request.protocol}#{request.host_with_port}#{request_uri}"
        else
          url_string == request_uri
        end
      end

Defined in actionpack/lib/action_view/helpers/url_helper.rb line 560 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionView::Helpers::UrlHelper

Type at least 2 characters to search.

↑↓ navigate · open · esc close