我在rails 3.1.3上使用ruby来构建我的应用程序。 现在,我想为特定命名空间中的每个控制器创建一个全局函数。 (例如:我有一个管理员命名空间,我想为管理员创建特定的功能来检查用户授权并更改布局视图。)
我应该在哪里放置我的全局功能?
答案 0 :(得分:0)
您通常镜像控制器中的命名空间树:
- application_controller.rb
- admin_controller.rb
- admin
+ - some_admin_controller.rb
ApplicationController
:
class ApplicationController < ActionController::Base
layout "some_default_layout"
def some_general_method
end
end
AdminController
:
class AdminController < ApplicationController
layout "admin_layout"
def some_admin_method
end
end
SomeAdminController
:
class Admin::SomeAdminController < AdminController
# has access to some_admin_method
end
所有管理员控制器都继承自AdminController
,然后使用该方法。