глобальная функция пространства имен - PullRequest
0 голосов
/ 20 февраля 2012

Я использую ruby ​​на рельсах 3.1.3 для сборки своего приложения. Теперь я хочу сделать глобальную функцию для каждого контроллера в определенном пространстве имен. (пример: у меня есть пространство имен администратора, и я хочу создать специальную функцию для администратора, чтобы проверять авторизацию пользователя и изменять вид компоновки.)

Где мне разместить мою глобальную функцию?

1 Ответ

0 голосов
/ 20 февраля 2012

Обычно вы отображаете дерево имен в контроллерах:

- 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 и имеют такой метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...