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

dor*_*kon 33 devise cancan ruby-on-rails-3

我在我的Rails 3应用程序中使用Tony的教程进行了身份验证

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

Bra*_*ker 42

您可以从rails控制台执行此操作.从命令行转到rails应用程序的目录并键入rails console.然后输入以下代码以创建用户:

user=User.create!(:email=>'test@test.com',:username=>'test',:password=>'password')
Run Code Online (Sandbox Code Playgroud)

这将创建一个用户对象(假设您的设计资源称为User).现在,您可以使用刚刚创建的用户对象来设置管理员权限.


Mar*_* S. 21

我现在是这样的(你的细节可能会有所不同)在我的seeds.rb文件中创建我的管理员用户为Devise.

User.new({ :email => 'admin@example.com', :password => 'password', :password_confirmation => 'password'}).save

您可以rake db:seed在终端窗口中执行它.


Sna*_*hot 16

此外,如果您使用可确认并且想要在创建新帐户时跳过确认电子邮件的要求,您可以执行以下操作:

newuser = User.new({ :email => 'admin@example.com', 
          :password => 'password', 
          :password_confirmation => 'password'})
newuser.skip_confirmation!
newuser.save
Run Code Online (Sandbox Code Playgroud)

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