Игнорирование требования к роли с помощью метода restfulauthentication в области поддоменов
Я создал сайт, который использует субдомены и ищет, находится ли пользователь по адресу: subdomain.domain.com
или domain.com
. Если пользователь в subdomain.domain.com, /views/layouts/application.html.erb
появляется, если пользователь в domain.com /views/layouts/promo_site.html.erb
появляется. Чтобы достичь этого, я внимательно следовал указаниям Robby on Rails .
Обе схемы используют один и тот же контроллер. Кроме того, я использую rolerequirement с restfulauthentication, чтобы оба моих представления работали. Я создал методы, которые ищут вашу область (url.com или subdomain.url.com)
Я выделил следующую проблему:
- Метод в контроллере вызывает сбой. «NoMethodError Controller: неопределенный метод require_role»
- Если контроллер находится в правильной области видимости, url.com метод
before_filter :check_if_role_is_required
работает нормально. Если он находится в области subdomain.url.com, метод check_if_role_is_required
создает ошибку NoMethodError.
Следующий код - check_if_role_is_required method
:
def check_if_role_is_required
require_role ["alt", "student worker"], :except => [:list, :show, :index, :create] unless promo_site?
end
* обратите внимание, что приведенный выше код завершается ошибкой при инициализации require_role ["alt", "student worker"], :except => [:list, :show, :index, :create]
, этот код прекрасно работает вне метода check_if_role_is_required, так что это, вероятно, простая ошибка ruby.
Как мне переписать этот метод для работы?
Спасибо!