【问题标题】:undefined local variable or method `locked_at' for #<User:0x007f28a2101568> Did you mean? lock_access#<User:0x007f28a2101568> 的未定义局部变量或方法 `locked_at' 您的意思是? lock_access
【发布时间】:2019-06-09 19:12:01
【问题描述】:

所以我在 ruby​​ on rails 中创建了一个项目,用于使用 devise 和 facebook 进行身份验证。通过设计简单的注册登录时,我收到以下错误:

未定义的局部变量或方法 `locked_at' for # 你的意思是? lock_access!

【问题讨论】:

  • 你的用户表有locked_at字段吗?
  • 请看一下[https://stackoverflow.com/help/how-to-ask](我该如何问一个好问题?)。 一些建议: 更改帖子的标题以描述问题。包括引发错误的代码。尽量不要使用截图来发布错误/代码——最好是容易复制的文本。

标签: ruby-on-rails ruby devise


【解决方案1】:

我认为没有为 users 表添加locked_at 列

生成迁移以在用户表中添加列

  def change
    add_column :users, :locked_at, :datetime
  end

【讨论】:

    【解决方案2】:

    对于像我一样从 Google 来到这里的人,您可能还想注意设计入门自述文件中的这一行 - https://github.com/plataformatec/devise#getting-started

    接下来,检查 MODEL 是否有任何其他配置选项 可能要添加,例如可确认或可锁定。如果您添加一个 选项,请务必检查迁移文件(由 如果您的 ORM 支持它们,则生成器)并取消注释相应的 部分。例如,如果在模型中添加可确认选项, 您需要在迁移中取消注释可确认部分。

    仔细检查您的 Devise 用户迁移文件 (db/migrate/TIMESTAMP_devise_create_users.rb) 并取消注释任何必要的部分。在这种情况下,与Lockable 模块相关的部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 2017-01-26
      • 2018-04-19
      相关资源
      最近更新 更多