Ruby on rails 如何在Rails命名空间中的所有控制器中包含控制器关注点
假设我在Ruby on rails 如何在Rails命名空间中的所有控制器中包含控制器关注点,ruby-on-rails,Ruby On Rails,假设我在config/routes.rb中定义了一个admin命名空间,并在该命名空间中定义了多个控制器。例如Admin::InvoicesController和Admin::reportscocontroller 此外,我在/app/controllers/concerns/admin\u concerns.rb中定义了一个问题 我想在admin名称空间中的所有控制器中包含该问题。您是否考虑过创建一个Admin::BaseController,其中包括关注点,而不是将include Admin
config/routes.rb
中定义了一个admin
命名空间,并在该命名空间中定义了多个控制器。例如Admin::InvoicesController
和Admin::reportscocontroller
此外,我在/app/controllers/concerns/admin\u concerns.rb
中定义了一个问题
我想在
admin
名称空间中的所有控制器中包含该问题。您是否考虑过创建一个Admin::BaseController
,其中包括关注点,而不是将include AdminConcerns
添加到所有控制器中,是否有一种方法可以将此关注点一次包含在Admin
命名空间中的所有控制器中,然后让Admin
命名空间中的所有控制器继承自BaseController
?是的,我考虑过,但我已经继承自顶级控制器,因为大多数代码都与这些控制器共享。与我从顶级控制器重复使用的方法相比,我想包括的问题相对较小。并且Admin::BaseController
是否可以从您的“顶级控制器”继承,以便所有Admin
控制器也从那里获取方法?不,这不起作用,因为我有多个控制器,每个控制器都从不同的顶级控制器继承。因此,Admin::reportscocontroller
从顶层继承reportscocontroller
,Admin::InvoicesController
从顶层继承InvoicesController
,等等。Admin
是一个模块,所以我认为应该可以在该模块中包含关注点,将其传递给其中的所有控制器。但我不知道怎么做。