controllerでは全部のhelperをincludeしているようですが、
viewではController名と同名のhelperしか読み込まないだそうな。
なので、
app/helpers/application_helper.rb
module ApplicationHelper
def common_helper_method
end
end
app/helpers/users_helper.rb
module UsersHelper
def user_helper_method
end
end
common_helper_method
は、ApplicationController
を継承したどのControllerのViewからも使えるが、user_helper_method
はUsersController
のViewからしか使えない。
他のControllerのViewから使いたい場合は以下のようにする
app/controllers/others_controller.rb
class OthersController < ApplicationControlelr
helper Users
end
Rails4系ですべてのhelperがviewから読めるのを禁止する設定 - Qiitaを見る限り、config.action_controller.include_all_helpers = true
であれば、viewから全Helper読めるような感じするんですけど、どうなんだろう。