2016-09-27 27 views
0

我跟着第一個選項來創建一個管理員角色,這裏https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-Role每個密碼的設計管理模式失敗

建議之後,我創建了一個種子填充管理員型號:

Admin.create!([{email: "[email protected]"}, 
        {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,所以我不知道即時消息的內容。任何想法?

+0

你可以發佈更多的代碼,如你的路線和管理模式 – Ren

+0

我編輯我的問題@人 – user1301037

回答

1

看起來像你的語法問題。括號類型很重要..現在,您正嘗試創建一個數組爲[ ]的管理員,其中您的屬性被劃分爲該數組中的不同對象。

嘗試再創建一個管理員,但這次沒有方括號[ ]和一個哈希{ }

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

這種方式,您將創建一個單一Admin對象,帶有屬性的電子郵件,密碼等

如果你想在一行代碼來創建多個Admins所有,那麼你可以使用一個數組:

Admin.create!([{email: "[email protected]", 
        password: "password", 
        password_confirmation: "password"}, 
       {email: "[email protected]", 
        password: "foobar", 
        password_confirmation: "foobar"}])