8
5

More than 5 years have passed since last update.

Rails マウントしたエンジンとメインのアプリ間でのアクセス

Posted at

routesへの設定

config/routes.rb
Rails.application.routes.draw do
  mount MyEngine::Engine => "/my_engine", as: "my_engine"
  get "/top" => "top#index"
end

上記のような設定。

メインからエンジンへ

エンジンの設定にはasで名前をつけてあげる。そうするとエンジン側へアクセスするためのヘルパーが出来る。

メインのアプリのcontroller
class TopController < ApplicationController
  def index
    my_engine.root_url #メインのアプリ側からエンジン側へアクセス
  end
end

エンジンからメインへ

メインのアプリへはmain_appというヘルパーが用意されている。

エンジンのcontroller
module MyEngine
  class ArticleController
    def index
      main_app.top_path # エンジン側からメインのアプリへアクセス
    end
  end
end

参考

8
5
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
8
5