Как создать первого (Admin) пользователя (CanCan и Devise)? - PullRequest
32 голосов
/ 01 марта 2011

Я сделал аутентификацию в своем приложении на Rails 3, следуя указаниям Учебное пособие Тони

Я не хочу публичных регистраций в своем приложении, просто для создания новых пользователей с учетной записью администратора, но я могуне создавать учетную запись администратора вручную, потому что в таблице Users есть зашифрованный пароль и соль, которые должны быть сгенерированы, и я не знаю, как: |

Ответы [ 3 ]

41 голосов
/ 01 марта 2011

Вы можете сделать это с консоли рельсов.Из командной строки перейдите в каталог вашего приложения rails и введите rails console.Затем введите следующий код, чтобы создать пользователя:

user=User.create!(:email=>'test@test.com',:username=>'test',:password=>'password')

Это создаст объект пользователя (при условии, что ваш ресурс devise называется User).Теперь вы можете использовать объект пользователя, который вы только что создали, для установки прав администратора.

20 голосов
/ 02 марта 2011

Я сейчас что-то вроде этого (ваши данные могут отличаться) в моем файле seed.rb для создания моего администратора для Devise.

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

Вы можете выполнить его, используя rake db:seed в окне терминала.

15 голосов
/ 11 октября 2011

Кроме того, если вы используете подтверждающее и хотите пропустить требование для подтверждения по электронной почте при создании новых учетных записей, вы можете сделать что-то вроде этого:

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

Это полезно, если создаваемые учетные записипредназначены для доверенных пользователей или если вы создаете тестовые учетные записи.

...