2016-03-10 3 views
3

Я пытаюсь создать пользователя с помощью DEViSE Рельсы консоли с описанным ниже методомРазрабатывают пользователя из рельсов консоли

User.create!({:email => "[email protected]", :roles => ["admin"], :password => "abc123", :password_confirmation => "abc123" }) 

Я не могу понять, если пользователь будет создан или нет. После того, как я набрал команду ввода, я не получаю ответа. Я сделал user.save, а затем сделал u.all, но он ничего не показывает, и я не могу войти.

Просьба указать, что не так.

Edit: Я пытаюсь ниже, как хорошо, но это не работает

@user = User.new(:email => '[email protected]', :password => 'password', :password_confirmation => 'password') 
@user.save 

Благодарности

+1

Нет объектов 'user' или' u'. Поэтому и 'user.save', и' u.all' должны вызывать ошибку. Чтобы все пользователи выполняли 'User.all' или чтобы получить последний пользователь' User.last' – shivam

+0

ok, но 'User.create' не создает никакого пользователя в любом случае. Является ли этот синтаксис неправильным? – Suraj

+0

Какая ошибка в консоли после User.create? –

ответ

5

ОБНОВЛЕНО: Вы пропускаете {} в вашем User.new()

user = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'}) 
user.save 

У вас есть: подтвержденный вариант? Если да, то:

user = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'}) 
user.skip_confirmation! 
user.save 
+0

Я получаю этот 'NoMethodError: undefined method' skip_confirmation! ' для # <Пользователь: 0x000000059da620> 'когда я нажимаю вторую команду для уведомления о пропуске – Suraj

+0

, а если вы пропустите строку2, это сработает? – Jefferson

+0

Да, это работает, спасибо. Как я могу дать этому пользователю роль администратора?> – Suraj

Смежные вопросы