我不希望在我的应用上进行公开注册,只是为了使用管理员帐户创建新用户,但我无法手动创建管理员帐户,因为在表中用户必须生成加密的密码和盐,以及我不知道如何:|
答案 0 :(得分:41)
您可以从rails控制台执行此操作。从命令行转到rails应用程序的目录,然后键入rails console
。然后输入以下代码以创建用户:
user=User.create!(:email=>'test@test.com',:username=>'test',:password=>'password')
这将创建一个用户对象(假设您的设计资源称为User)。现在,您可以使用刚刚创建的用户对象来设置管理员权限。
答案 1 :(得分:20)
我现在的种子(你的详细信息可能会有所不同)在我的seeds.rb文件中为Devise创建我的管理员用户。
User.new({ :email => 'admin@example.com', :password => 'password', :password_confirmation => 'password'}).save
您可以在终端窗口中使用rake db:seed
执行它。
答案 2 :(得分:15)
此外,如果您使用确认并且想要在创建新帐户时跳过确认电子邮件的要求,您可以执行以下操作:
newuser = User.new({ :email => 'admin@example.com',
:password => 'password',
:password_confirmation => 'password'})
newuser.skip_confirmation!
newuser.save
如果您创建的帐户适用于受信任的用户,或者您正在创建测试帐户,则此功能非常有用。