2012-08-12 53 views
0

我試圖進入heroku控制檯,並添加User.create(名稱:「admin」,電子郵件:「[email protected]」,管理員:true)的用戶。這些都是我的用戶表中的所有有效列,我沒有問題本地創建一個管理員用戶(認爲我這樣做是不同的。這是它給了我。如何在我的livekuku應用上創建管理員用戶?

irb(main):001:0> User.create(name: "admin", email:"[email protected]", admin: true) 
WARNING: Can't mass-assign protected attributes: admin 
    (57.4ms) BEGIN 
    User Exists (12.4ms) SELECT 1 FROM "users" WHERE LOWER("users"."email") = LOWER('[email protected]') LIMIT 1 
    (30.3ms) ROLLBACK 
=> #<User id: nil, name: "admin", email: "[email protected]", created_at: nil, updated_at: nil, password_digest: nil, remember_token: nil, admin: false> 

明確管理員設置沒有工作,因爲它是把爲假的。此外,當我去我的網站沒有名爲admin新用戶。我不知道,我甚至採取正確的步驟,但。我在做什麼錯了/沒有做?

回答

1

User.create({name: "admin", email:"[email protected]", admin: true}, :without_protection => true)

的另一種方法是逐個設置屬性:

u = User.new 
u.name = "admin" 
u.email = "[email protected]" 
u.admin = true 
u.save! 
+0

關於旁註:更重要的一課就是爲什麼首先有這種質量分配保護:http://railscasts.com/episodes/26-hackers-love-mass-assignment。尤其如此,因爲您不希望任何人濫用您的「管理員」屬性。 – 2012-08-12 03:39:04

相關問題