Я пытаюсь получить метод permit
работать, используя rails-authorization-plugin и authlogic, и я продолжаю работать в эту ошибку:Rails Authorization плагин Ошибка
Когда я пытаюсь:
class ApplicationController < ActionController::Base
...
before_filter permit 'admin'
...
Я получаю это :
Authorization::CannotObtainUserObject in HomeController#index
Couldn't find #current_user or @user, and nothing appropriate found in hash
Теперь у меня есть мой current_user
установка метод, и это работает, потому что я использовал это как раз о везде в моем приложении:
class ApplicationController < ActionController::Base
...
helper_method :current_user
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
...
Я также знаю, что у меня есть пользователи с соответствующими ролями в моей базе данных, так как этот метод работает:
def require_admin
unless current_user.is_admin? || current_user.is_root?
flash[:warning] = 'You are not an administrator and cannot access this page.'
redirect_to root_path
end
end
Я могу сделать все, что будет работать, если я просто проверить на уровне пользователя с помощью этого:
before_filter :require_admin, :only => 'index'
... но я не должен быть в состоянии эффективно то же самое с permit
и permit?
?
Любая помощь будет высоко оценена. Дайте мне знать, если вам нужно увидеть больше кода, и я буду рад опубликовать его. В Google действительно ничего нет, что я могу сделать головы или хвосты относительно того, как эти две системы будут работать друг с другом.
Я изменил его, как вы предлагали (на глобальном уровне), так что теперь он просто читает 'allow 'admin'', но я все равно получаю ту же ошибку. Я получаю ту же ошибку, когда я пытаюсь сделать это на уровне действия. ?? – neezer