用于管理员的Rails基本控制器

Ale*_*lex 5 controller ruby-on-rails admin base

我从.net迁移到rails并且我是初学者.我玩过但不知道如何为admin命名空间创建一个基本控制器来共享一些功能.我的意思是,在哪里放基类,因为我每次尝试都会出错.

谢谢

Blu*_*ith 13

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

的routes.rb

namespace :admin do
  resources :users
end
Run Code Online (Sandbox Code Playgroud)

这是controllers文件夹的结构:

controllers/
  application_controller.rb
  admin/
    base_admin_controller.rb
    users_controller.rb
Run Code Online (Sandbox Code Playgroud)

管理员/ base_admin_controller.rb:

class Admin::BaseAdminController < ApplicationController
  protected

    def some_shared_method
      # Do something
    end
end
Run Code Online (Sandbox Code Playgroud)

您可以添加所有管理控制器将共享的任何方法.然后只需继承BaseAdminController类.

管理员/ users_controller.rb:

class Admin::UsersController < Admin::BaseAdminController
  def index
    some_shared_method
  end
end
Run Code Online (Sandbox Code Playgroud)