1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Mountable Engineからapplication_helperが使えない

Posted at

#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が使える。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?