2012-12-18 37 views
4

Im从.net迁移到rails并且是初学者。我玩过,但无法弄清楚如何为管理员名称空间创建基本控制器以共享某些功能。我的意思是,在哪里把基类,因为我得到每个尝试的错误。用于管理员的Rails基础控制器

感谢

回答

9

假设您正在使用Rails 3 你可以这样做。

的routes.rb

namespace :admin do 
    resources :users 
end 

这里是控制器的文件夹结构:

controllers/ 
    application_controller.rb 
    admin/ 
    base_admin_controller.rb 
    users_controller.rb 

管理/ base_admin_controller.rb:

class Admin::BaseAdminController < ApplicationController 
    protected 

    def some_shared_method 
     # Do something 
    end 
end 

您可以添加任何方法t所有管理员控制器都会共享。然后只需简单地继承BaseAdminController类。

管理/ users_controller.rb:

class Admin::UsersController < Admin::BaseAdminController 
    def index 
    some_shared_method 
    end 
end