Devise Admin模型中的每个密码都失败了

时间:2016-09-27 18:48:38

标签: ruby-on-rails devise

我按照第一个选项按照this

的建议创建了管理员角色

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

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,所以我不知道我在做什么。有什么想法吗?

1 个答案:

答案 0 :(得分: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"}])