I want a add in action 'destroy' if/else than user was not logged, his redirect to signin page, but I'm doing wrong.
def destroy
if user.sign_in
sign_out
redirect_to root_url
else
redirect_to signin_path
end
end
helper sessions_helper
def sign_in(user)
remember_token = User.new_remember_token
cookies.permanent[:remember_token] = remember_token
user.update_attribute(:remember_token, User.encrypt(remember_token))
self.current_user = user
end
how fix it? sorry for my bad English
In the destroy method you call to user.sign_in
but in you helper you have this definition sign_in(user)
you have to fix that using:
user.sign_in
And creating a method on class User
OR:
sign_in(user)
Passing user as a param with actual method defined.
EDITED
ApplicationController
def sign_in(user)
remember_token = User.new_remember_token
cookies.permanent[:remember_token] = remember_token
user.update_attribute(:remember_token, User.encrypt(remember_token))
self.current_user = user
end
end
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.