include_all_helpersについて
include_all_helpersについてのメモ。
以下にあるとおりController名と同名のhelperしか読み込まないように設定をすると、ちょっと厄介なことがある。 qiita.com
HelperをもつGemを利用する場合。例えば、font-awesome-rails
。
github.com
課題
include_all_helpers
でhelperの読み込みに制限をかけるfont-awesome-rails
nofa_icon
ヘルパーを利用- エラーが発生
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 method
fa_icon' for …` が発生
解決
application_helper
に font-awesome-rails
に include
をすれば良い。
app/helpers/application_helper.rb
module ApplicationHelper include FontAwesome::Rails::IconHelper ...
ただGemのHelperを利用する度に、このを設定していくのは面倒なので、ひとまず include_all_helpers = false
はやめる。