2012-08-12 54 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

相关问题