Railsエンジンのアプリケーションコントローラのbefore_action
の場合、ユーザがエンジンからアクションを要求すると、routes.rb
とmodels
がロードされる前にbefore_action
が実行されます(または実行順序を見つけるための手続き/ツールです。 routes.rbとモデル定義をスキップする)?routes.rbとモデルがロードされる前にアプリケーションコントローラのbefore_actionが実行されていますか?
class ApplicationController < ApplicationController
before_action :setup_some_variable
..........
end
setup_some_variable
の目的は、エンジンにroutes.rb
とmodels
で使用される変数を設定することです。
main_app
を起動すると、エンジンのroutes.rb
とmodels
がロードされます。ここでは、メインアプリケーションの `routes.rbを」Railsのエンジンをマウント:
Myapp::Application.routes.draw do
mount MyEngine::Engine => "/my_engine"
end
ブート文書は良い参考です。 'モデルはAutoloaderを使ってロードされるので、あなたのコードで最初に参照されます.'通常、モデルを初めて参照するときに定義されるのは何ですか?通常は、コントローラーだけが、index、new、editなどのアクションでモデルを参照します。 – user938363
また、ルートとモデルの定義はアプリで一度読み込まれ、後で何度も使用されますか? – user938363