我重置了数据库,但在每个页面上都收到此错误:
ActiveRecord::RecordNotFound in HomeController#index
Couldn't find User with id=1
lib/authenticated_system.rb:15:in `current_user'
lib/authenticated_system.rb:23:in `logged_in?'
lib/authenticated_system.rb:36:in `login_required'
authenticated_system.rb 中的违规代码是:
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id].present?
end
所以我不确定为什么它要寻找 id=1 的用户。没有用户。 current_user
不应返回任何内容。为什么我会收到此错误?
供引用,logged_in?
是:
def logged_in?
!current_user.nil?
end
和login_required
:
def login_required
logged_in? && authorized? ? true : access_denied
end
最佳答案
您是否关闭了浏览器并重新启动?
无论您的浏览器打开多久, session 都会存在。仅仅因为您重置数据库并不意味着 session 消失了。
关于ruby-on-rails - ActiveRecord 在 db :reset 之后寻找用户 ID=1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16157712/