Подтвердить что ты не робот

Как заполнить некоторые пользователи по умолчанию в Devise?

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

4b9b3361

Ответ 1

Обычный способ настройки любых данных по умолчанию в Rails заключается в добавлении данных в db/seeds.rb:

user1 = User.create :name => "User1", :email => "[email protected]", :password => "user123"

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

rake db:migrate
rake db:seed

Ответ 2

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

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

Ответ 3

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

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