如何创建第一个(Admin)用户(CanCan和Devise)?

时间:2011-03-01 02:03:27

标签: ruby-on-rails-3 devise cancan

我在Tony's tutorial

的Rails 3应用程序中进行了身份验证

我不希望在我的应用上进行公开注册,只是为了使用管理员帐户创建新用户,但我无法手动创建管理员帐户,因为在表中用户必须生成加密的密码和盐,以及我不知道如何:|

3 个答案:

答案 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

如果您创建的帐户适用于受信任的用户,或者您正在创建测试帐户,则此功能非常有用。