Как заполнить некоторых пользователей по умолчанию в Devise? - PullRequest
13 голосов
/ 20 ноября 2011

Я работаю над тем, чтобы заставить Devise работать в моем приложении на Rails.Я новый пользователь Rails.Как правильно добавить нескольких пользователей по умолчанию?

Ответы [ 3 ]

18 голосов
/ 20 ноября 2011

Обычный способ установить любые данные по умолчанию в Rails - добавить данные в db/seeds.rb:

user1 = User.create :name => "User1", :email => "user1@example.com", :password => "user123"

В зависимости от ваших проверок и разработанных функций, вам может понадобиться ввести больше полей. Чтобы использовать эти данные, просто позвоните rake db:seed.

rake db:migrate
rake db:seed
2 голосов
/ 20 ноября 2011

Faker - отличный вариант, если вы не хотите выписывать всех пользователей вручную.

В этом учебнике faker показано, как использовать драгоценный камень для заполнения базы данных в относительно простой задаче рейка.

1 голос
/ 27 июля 2014

Добавление: приведенный ниже метод не будет работать.

User.new
User.name = "Bob"
User.password = "Bob123"
User.password_confirmation = "Bob123"
User.save!   ## Exception raised => Password field cannot be blank.

Поскольку Devise запускает свои внутренние методы, такие как «генерация зашифрованного пароля из пароля» после вызова «new» для пользователя.Итак, User.new вызывает исключение, говоря, что пароль не указан.Вместо этого используйте либо

User.create({ :name => "Bob", ... })    # or 
User.new({ :name => "Bob", ... }).save
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...