I am getting a strange error with Devise. When I load the homepage it doesn't like this code:
<% if signed_in? %><p>Welcome back,
<%= current_user.first_name %> <%= current_user.last_name %></p><% end %>
Because it says:
undefined method `encrypt' for #<Class:0x3720300>
I did a search for "encrypt" in my app and all it returned was my sessions_helper.rb:
module SessionsHelper
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
def signed_in?
!current_user.nil?
end
def sign_out
current_user.update_attribute(:remember_token, User.encrypt(User.new_remember_token))
cookies.delete(:remember_token)
self.current_user = nil
end
def current_user=(user)
@current_user = user
end
def current_user
remember_token = User.encrypt(cookies[:remember_token])
@current_user ||= User.find_by(remember_token: remember_token)
end
end
What does this mean? Do I need to reinstall something?
Usermodel? As yoursigned_in?method callscurrent_usermethod where you're usingUser.encryptthat seems to be the problematic part.