0

我尝试进入 heroku 控制台并使用 User.create(name: "admin", email: "admin@tradespring.net", admin: true) 添加一个用户。这些都是我的用户表中的有效列,我在本地创建管理员用户没有问题(以为我做的不同。这就是它给我的。

irb(main):001:0> User.create(name: "admin", email:"admin@tradespring.net", 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('admin@tradespring.net') LIMIT 1
   (30.3ms)  ROLLBACK
=> #<User id: nil, name: "admin", email: "admin@tradespring.net", created_at: nil, updated_at: nil, password_digest: nil, remember_token: nil, admin: false>

显然,管理员设置不起作用,因为它被设置为假。此外,当我访问我的站点时,没有名为 admin 的新用户。我不确定我是否采取了正确的步骤。我在做什么错/不做什么?

4

1 回答 1

1

User.create({name: "admin", email:"admin@tradespring.net", admin: true}, :without_protection => true)

另一种方法是逐个设置属性:

u = User.new
u.name = "admin"
u.email = "admin@tradespring.net"
u.admin = true
u.save! 
于 2012-08-12T03:33:06.867 回答