Not able to override helper.

I'm trying to upgrade an application to Rails 3 and I found a difference
in the way helpers are loaded. I want to override a method based on
the current controller but it now seems that all helpers are loaded.

I've broken it down to a simple example. I have a test app with 2
controllers - books and authors. In the BooksHelper module, I have:

module BooksHelper
  def some_helper
    "From books helper"
  end
end

In AuthorsHelper module, I have:

module AuthorsHelper
  def some_helper
    "From authors helper"
  end
end

In my index.html.erb for Books I include <%= some_helper %>
and in index.html.erb for Authors I include the same <%= some_helper %>.

When I do the books index it shows as "From books helper" but when I do
a authors index I get the same "From books helper" - I had hoped for
"From authors helper". I tried the same app in rails 2 and I get the
helper method from the current controller used - so I get what I
expected.

In my real app - I have a call in the layouts - application.html.erb
where I call the helper and hope to get the current controller's helper
so I can show information (like bread crumbs) for the current
controller.

That’s because Rails 3 implies helper :all.

https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/5348-visibility-of-helpers-seems-all-wrong