应用程序控制器中的 before_action 是否在 routes.rb 之前执行并加载模型?
Is before_action in application controller executed before routes.rb and models are loaded?
对于 Rails 引擎的应用程序控制器中的 before_action
,当用户从引擎请求操作时,before_action
是否在引擎的 routes.rb
和 models
被加载(或者一些 procedure/tool 允许我们找出执行顺序。调试似乎跳过了 routes.rb 和模型定义)?
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
路由在应用程序启动时加载,模型使用自动加载器加载,因此第一次在您的代码中引用它们。
before_action
运行s 在任何控制器操作之前 运行,因此在请求被路由到正确的控制器操作之后。
Rails 引导过程记录在此处:https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb#L37
对于 Rails 引擎的应用程序控制器中的 before_action
,当用户从引擎请求操作时,before_action
是否在引擎的 routes.rb
和 models
被加载(或者一些 procedure/tool 允许我们找出执行顺序。调试似乎跳过了 routes.rb 和模型定义)?
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
路由在应用程序启动时加载,模型使用自动加载器加载,因此第一次在您的代码中引用它们。
before_action
运行s 在任何控制器操作之前 运行,因此在请求被路由到正确的控制器操作之后。
Rails 引导过程记录在此处:https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb#L37