Refactoring can be sometimes a pain in the ass. Especially when you’re refactoring things that are really old. Today I was cleaning an almost 5 years old piece of code. It was a Rails 4.0 (migrated many times from 1.2) app that had helpers auto-loading turned on. I hated this, because it forced us to use names with prefixes for many methods.
Disabling it was really easy (in config/application.rb):
config.action_controller.include_all_helpers = false
Of course after that you need to require all the helpers that you use:
helper ApplicationHelper helper FormHelper
Everything was fine except one small detail:
ActionView::Template::Error: undefined method `paginate' for #<#<Class:0x0000000929a3c0>:0x0000000aa2c5b0> app/views/admin/module/urls/index.html.haml:1:in `_app_views_admin_module_urls_index_html_haml__883223636925488268_77061720' app/controllers/application_controller.rb:57:in `respond_with' app/controllers/admin/module/urls_controller.rb:9:in `index' test/controllers/admin/module/urls_controller_test.rb:103:in `block in <class:UrlsControllerTest>'
Kaminari stopped working. It seems that it was loaded without issues, except the helper. To fix this, just include in you application controller following code: