Je travaille sur http://railstutorial.org (travaille actuellement sur la section 10.4.2 - détruire des utilisateurs).Attributs du modèle booléen comme méthodes automatiques
Mon modèle utilisateur a un booléen admin
attribut, et dans le contrôleur des utilisateurs il y a un code simple faisant usage de cet attribut:
def admin_user
redirect_to(root_path) unless current_user.admin?
end
Le test RSpec:
describe "as a non-signed-in user" do
it "should deny access" do
delete :destroy, :id => @user
response.should redirect_to(signin_path)
end
end
Et l'erreur ce test produit:
NoMethodError dans 'UsersController DELETE' détruire 'en tant que non-signe L'utilisateur doit refuser l'accès ' méthode non définie `admin?' pour néant: NilClass
Qu'est-ce que nil: NilClass? Pourquoi je reçois ça?
modifier. j, cela pourrait aider:
def sign_in(user)
user.remember_me!
cookies[:remember_token] = { :value => user.remember_token,
:expires => 20.years.from_now.utc }
self.current_user = user
end
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= user_from_remember_token
end
On dirait que 'current_user' est nul –
Daniel, même erreur après avoir changé à @current_user – nnyby
Vérifiez la méthode' current_user' Il est de retour 'nil' pourrait... vous postez cette méthode? –