ruby-on-railsapplicationcontroller

current_page? inside controller


Is there any easy way of using something like current_page?method from ActionView::Helpers::UrlHelper inside controller?

I have routing like:

resources :addresses
resources :mailing_addresses, :controller => 'addresses'

And I would like to do a check in my controller that would look like this:

class AddressesController

  def index
    if current_page?(live_addresses_path)
       # ... logic goes here
    elsif current_page?(addresses_path)
       # ... logic goes here
    end
  end

end

What's the easiest way of achieving it?


Solution

  • Unlike many other helper methods, UrlHelper is not included in your controllers. So, if you want to use it in your controller, you can simply include it there and use it:

    class AddressesController
    
      include ActionView::Helpers::UrlHelper
    
      def index
        if current_page?(live_addresses_path)
           # ... logic goes here
        elsif current_page?(addresses_path)
           # ... logic goes here
        end
      end
    
    end