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