title: Why wouldn't a public method in application.rb be available to all views and controllers via helper:all?
body: <p>I thought the <code>helper:all</code> in the following <code>application.rb</code> would make <code>current_user</code> available to every controller and view?</p>
  
  <pre><code>class ApplicationController &lt; ActionController::Base
  
    helper :all
    protect_from_forgery
    before_filter { |c| Authorization.current_user = c.current_user }
  
    def current_user_session
      return @current_user_session if defined?(@current_user_session)
      @current_user_session = UserSession.find
    end
  
    def current_user
      return @current_user if defined?(@current_user)
      @current_user = current_user_session &amp;&amp; current_user_session.record
    end
  
    ...
  
    private
  
    ...
  
    protected
  
    ...
  
  end
  </code></pre>
  
  <p>My views call the <code>current_user</code> method like this:</p>
  
  <pre><code>- if current_user
    = link_to "Logout", logout_path
  </code></pre>
  
  <p>For which I get this response:</p>
  
  <pre><code>undefined local variable or method `current_user' for #&lt;#&lt;Class:0x007f971d812a48&gt;:0x007f972050c378&gt;
  </code></pre>
  
  <p>What am I missing?</p>
  
  <p>Many thanks,</p>
  
  <p>Steven.</p>
  
  <p>PS I have experimented with this in the controller tied to the view that is failing:</p>
  
  <pre><code>before_filter :current_user
  </code></pre>