Нужен ли класс / модуль в lib? - PullRequest
       1

Нужен ли класс / модуль в lib?

2 голосов
/ 12 сентября 2010

Я только что написал небольшой модуль в моей папке lib приложения Rail 3.0.0:

module AdminFilters

  def verify_is_admin
    if current_user.nil? || current_user.role != User::Role::ADMIN
      redirect_to :root, :alert => "You don't have enough permissions"
    end
  end

end

И чтобы сделать его доступным для всех моих контроллеров:

class ApplicationController < ActionController::Base
   protect_from_forgery

   require "admin_filters"
   include AdminFilters

end

Если я уберу нужную строку, рельсы жалуются так:

uninitialized constant ApplicationController::AdminFilters

Это нормальное поведение? Я думал, что любой rb-файл в папке lib был автоматически загружен rails ...

1 Ответ

2 голосов
/ 12 сентября 2010

Да, он был автоматически загружен в Rails 2.xx, но Rails 3 больше не загружает файлы из lib/.Вам следует рассмотреть возможность размещения ваших файлов в каталоге config/initializers.

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