Lチカ開発ブログ

https://l-chika.com/の開発ブログ

include_all_helpersについて

include_all_helpersについてのメモ。

以下にあるとおりController名と同名のhelperしか読み込まないように設定をすると、ちょっと厄介なことがある。 qiita.com

HelperをもつGemを利用する場合。例えば、font-awesome-railsgithub.com

課題

  1. include_all_helpers でhelperの読み込みに制限をかける
  2. font-awesome-rails no fa_icon ヘルパーを利用
  3. エラーが発生

config/application.rb

module Hoge
  class Application < Rails::Application
    ...
    config.action_controller.include_all_helpers = false
  end
end

view

<%= fa_icon 'envelope-o' %>

エラー

NoMethodError - undefined methodfa_icon' for …` が発生

解決

application_helperfont-awesome-railsinclude をすれば良い。

app/helpers/application_helper.rb

module ApplicationHelper
  include FontAwesome::Rails::IconHelper
  ...

ただGemのHelperを利用する度に、このを設定していくのは面倒なので、ひとまず include_all_helpers = false はやめる。