J'essaie d'obtenir la méthode permit
au travail en utilisant la rails-authorization-plugin et authlogic, et je continue à courir dans cette erreur:Rails d'autorisation Erreur du plugin
Lorsque je tente:
class ApplicationController < ActionController::Base
...
before_filter permit 'admin'
...
Je reçois ce :
Authorization::CannotObtainUserObject in HomeController#index
Couldn't find #current_user or @user, and nothing appropriate found in hash
maintenant, j'ai ma configuration de la méthode current_user
, et il fonctionne, parce que je l'ai utilisé à peu près partout ailleurs dans mon application:
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
...
Je sais aussi que j'ai des utilisateurs avec les rôles appropriés dans ma base de données, car cette méthode fonctionne:
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
je peux faire tout ce travail si je viens de vérifier le niveau de l'utilisateur en utilisant ceci:
before_filter :require_admin, :only => 'index'
... mais je ne devrais pas être en mesure de la même chose efficacement avec permit
et permit?
?
Toute aide serait grandement appréciée. Faites-moi savoir si vous avez besoin de voir plus de code et je serai heureux de le poster. Il n'y a vraiment rien sur Google que je puisse faire face à la nécessité de faire fonctionner ces deux systèmes les uns avec les autres.
Je l'ai modifié comme vous l'avez suggéré (au niveau global) alors maintenant il lit simplement 'permis 'admin'', mais je reçois toujours la même erreur. J'ai la même erreur quand j'essaye de le faire au niveau par action. ?? – neezer