2016-08-02 3 views
0

Datamapper не сохраняет мои пользовательские модели. (Это WebApp Синатра и БД является MySQL БД AWS RDS.)Datamapper не сохраняет записи в MySQL

Модель пользователя:

class User 
    include DataMapper::Resource 
    property :uid, Serial 
    property :user, String, :key => true, :length => 3..20 
    property :pass, String, :required => true, :length => 6..50 
end 

код, чтобы установить его:

post "/register" do 
    username = params["username"] 
    password = params["password"] 
    begin 
    encrypted_password = BCrypt::Password.create password 
    meme = User.new :user => username, :pass => encrypted_password 
    meme.save 
    raise DatabaseError, "User record not saved" unless meme.saved? 
    flash[:register] = "Welcome, new user! Please log in now." 
    redirect "/login" 
    # disabled rescue stuff... 
    end 
end 

(если вы хотите , проверьте его самостоятельно на dittoslash.uk)
(могу ли я сделать это при переполнении стека? отредактируйте это, если вы не можете)

EDIT: Обновленные правила проверки. Теперь я получаю сообщение об ошибке «Пасс должен быть между 6 и 50 символами» (с 28 (или 30?) Символьным паролем)

+0

У вас установлена ​​ошибка базы данных для повышения, если mem не сохраняет. Проверьте ошибки проверки в записи. И, пожалуйста, отправьте оригинальную ошибку в виде текста в свой вопрос. –

+0

Я не могу опубликовать оригинальную ошибку, потому что это нормально не вызывает ошибку. – Dittoslash

+0

'пропуск должен быть не более 50 символов' .e. – Dittoslash

ответ

0

max pleaner ответил это мне.

Для поисковиков, ищущих ответы:
проверьте свои проверки и убедитесь, что шифрование не делает пароль более длинным, чем ваш максимум.

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