ruby-on-rails - ActiveRecord 在 db :reset 之后寻找用户 ID=1

标签 ruby-on-rails ruby activerecord

我重置了数据库,但在每个页面上都收到此错误:

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/

相关文章:

ruby - 混淆 `Call`到 `block`创建为 `Proc`对象

ruby-on-rails - 从零到多关系的 ActiveRecord 简单最大日期

ruby-on-rails - Rails 模型生成器工具

ruby-on-rails - 将 angularjs 与 Turbolink 一起使用

ruby-on-rails - 关于这个 Varnish VCL 的几个问题

ruby-on-rails - 无法弄清楚 Rails_Admin 中的关联

ruby-on-rails - 数组存储为字符串。如何将它转换回任何数组?

ruby-on-rails - 使用基本身份验证从 url 下载文件的 ruby​​ 代码

Ruby 内部机制以及如何保证哈希值的唯一性

sql - Rails - 不明确的列名 : id