【问题标题】:Every password fails on Devise Admin modelDevise Admin 模型上的每个密码都失败
【发布时间】:2016-09-29 07:03:40
【问题描述】:

我按照此处https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-Role的建议按照第一个选项创建管理员角色

之后,我创建了一个种子来填充管理模型:

Admin.create!([{email: "email@example.com"},
                  {password: "password"},
                  {password_confirmation: "password"}])

管理模型

class Admin < ApplicationRecord
 devise :database_authenticatable, :trackable, :timeoutable, :lockable 
end

路线

Rails.application.routes.draw do
 devise_for :admins
end

我尝试在 /admins/sign_in 使用此密码登录,但未成功。

在 rails 控制台我可以看到 Admin.first,所以我不知道我在做什么。有什么想法吗?

【问题讨论】:

  • 您可以发布更多代码,例如您的路线和管理模型
  • 我编辑了我的问题@Ren

标签: ruby-on-rails devise


【解决方案1】:

您的语法似乎有问题。括号类型很重要。现在您正在尝试使用数组[ ] 创建一个管理员,其中您的属性被划分为该数组中的不同对象。

尝试创建另一个管理员,但这次不要使用方括号[ ] 和单个哈希{ }

Admin.create!({email: "email@example.com",
              password: "password",
              password_confirmation: "password"})

这样您将创建一个 Admin 对象,具有电子邮件、密码等属性。

如果你想在一行代码中创建多个Admins,那么你可以使用一个数组:

Admin.create!([{email: "email@example.com",
                  password: "password",
                  password_confirmation: "password"},
               {email: "differentadmin@example.com",
                  password: "foobar",
                  password_confirmation: "foobar"}])

【讨论】:

    猜你喜欢
    • 2019-06-05
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2015-10-04
    • 2016-11-20
    • 2013-08-14
    • 2019-12-04
    相关资源
    最近更新 更多