I'm trying to locate a user by using a find_by method, but I get the error
我试图通过使用find_by方法找到用户,但我得到了错误
undefined method `find_by_remember_token' for #<Class:0x6650dd8>
EDIT: Initially tried find_by
编辑:最初尝试find_by
This is my sessionshelper where the issue arises.
这是我的会员问题出现的问题。
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
current_user = user
end
def signed_in?
!current_user.nil?
end
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
def current_user?(user)
user == current_user
end
def sign_out
current_user = nil
cookies.delete(:remember_token)
end
end
3 个解决方案
#1
0
Try this:
User.find_by(remember_token: cookies[:remember_token])
If you wan to use dynamic finders in Rails 4 you should install the activerecord-deprecated_finders gem.
如果你想在Rails 4中使用动态查找器,你应该安装activerecord-deprecated_finders gem。
#3
0
Make sure you have run db:migrate
to add the remember_token field to users table
确保已运行db:migrate以将remember_token字段添加到users表
#1
0
Try this:
User.find_by(remember_token: cookies[:remember_token])
If you wan to use dynamic finders in Rails 4 you should install the activerecord-deprecated_finders gem.
如果你想在Rails 4中使用动态查找器,你应该安装activerecord-deprecated_finders gem。
#2
#3
0
Make sure you have run db:migrate
to add the remember_token field to users table
确保已运行db:migrate以将remember_token字段添加到users表