#Mountable Engine
・Mountable Engineについてはこちらを参照
https://railsguides.jp/engines.html
以下のようにマウントしているとする
config/routes.rb
Rails.application.routes.draw do
mount HogeHoge::Engine, :at => '/', as: 'hoge_hoge'
application_helperにメソッドを定義
app/helpers/application_helper.rb
module ApplicationHelper
def piyopiyo
# do something...
end
問題になったのは、header等でどこのページでもこのpiyopiyo
を呼び出すときに
マウントしているhoge_hoge
のページでは読み込めずエラーになってしまうということ。。。
#解決方法
マウント側を修正して、main_app.piyopiyo
とかかけば解決するらしいのだけど、もっと簡単に解決する出来る方法があった。
app/helpers/hoge_hoge/application_helper.rb
module HogeHoge::ApplicationHelper
include ApplicationHelper
end
このようにhelpersに作成してもとのApplicationHelperをincludeしてしまう。
これでHogeHoge側からも共通してhelperが使える。