2012-02-20 89 views
0

我在rails 3.1.3上使用ruby來構建我的應用程序。 現在,我想爲特定命名空間中的每個控制器創建一個全局函數。 (例如:我有一個管理員名稱空間,我想爲管理員創建特定功能來檢查用戶授權並更改佈局視圖。)命名空間全局函數

我應該在哪裏放置我的全局函數?

回答

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,然後使用該方法。