2014-01-13 2 views
0

У меня проблема: я пытаюсь добавить аутентификацию в свое первое приложение с рельсами, используя (mac os x mavericks): rails 4, mysql (через mysql2 драгоценный камень), ActiveRecord. следующие примечания по railstutorial руководства я добавил: Gemfile: модельRails 4: не удается сохранить запись в db

gem 'bcrypt-ruby', '~> 3.1.2' 

Пользователь:

class User < ActiveRecord::Base 
    has_secure_password 
    attr_accessible :lastname, :firstname, :email, :password 
end 

Создание пользователей миграции:

class CreateUsers < ActiveRecord::Migration 
def change 
    create_table :users do |t| 
     t.string :lastname 
     t.string :firstname 
     t.string :email 
     t.string :password_digest 
    end 
end 
end 

Тогда я пытаюсь создать и сохранить нового пользователя, используя консоль рельсов (потому что я не создал созданные представления и контроллер):

user = User.create(lastname: "LastName", firstname: "Name", email: "mail.mail.com", password: "qwerty") 
user.save 

и появляется сообщение об ошибке на моей консоли:

(0.3ms) BEGIN 
(0.2ms) ROLLBACK 

Надежда кто-то может объяснить мне, что это не так, и как получить читаемый ошибку, почему моя сделка была rollbacked

ответ

2

Проверьте user.errors в консоли, и вы увидите, что вам не хватает нужного атрибута password_confirmation (необходимо при создании новых записей с использованием has_secure_password)

См. example in the documentation - пользователь не отвечает в этом примере, пока подтверждение не соответствует паролю.

+0

О, да! Определенно я забыл о подтверждении пароля. Благодаря! – user1820686

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