Rails で Helper Method を Controller で使いたい
って思ったんだけど、これが少し事情が複雑で単純に Helper を Controller に include するのはあまりよろしくないらしく出来れば AbstractController で定義されている helper を使う方が良いらしい。
helper (AbstractController::Helpers::ClassMethods) - APIdock
でも、逆に考えたら Controller で定義しているメソッドを View で使えればいいだけのような気がするので helper_method というメソッドを使っても良さそう。
helper_method (AbstractController::Helpers::ClassMethods) - APIdock
じゃあ、使えばいいじゃんって言うとそう単純な話でもなくて、 concerns の中に作った Module のメソッドを View で使いたかったというのが元々の発端だったので、 Module は当然ながら AbstractController を継承していないから helper_method も使えない。けど、そこは Ruby ということで included というメソッドをフックすることによってこの無理難題を解決出来る。
Using helper_method from a Mixin Module - Ruby Forum
module MyMixin def self.included(c) c.helper_method :my_helper end def my_helper etc. end end