Разработать ошибку проверки логина - PullRequest
0 голосов
/ 05 марта 2011

Я rails3.0.4 и установить с таблицей следующих пользователей

create_table "users", :force => true do |t|
    t.string   "login"
    t.string   "email"
    t.string   "crypted_password",         :null => false
    t.string   "password_salt",            :null => false
    t.string   "persistence_token",        :null => false
    t.string   "single_access_token",      :null => false
    t.string   "perishable_token",         :null => false
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "database_authenticatable", :null => false
    t.string   "recoverable"
    t.string   "rememberable"
    t.string   "trackable"
    t.string   "reset_password_token"
  end

Таблица пользователей не была создана devise, но я добавил необходимые столбцы в миграции. И следующие настройки в config / initializers / devise.rb

config.authentication_keys = [ :email]

Но каждый раз, когда я пытаюсь зарегистрироваться как новый пользователь, он выдает:

  2 errors prohibited this user from being saved:
  Login is too short (minimum is 3 characters)
  Login should use only letters, numbers, spaces, and .-_@ please.

Есть идеи, почему это могло произойти?

1 Ответ

2 голосов
/ 05 марта 2011

Да, логин слишком короткий и / или содержит неправильные символы :) Вы включили встроенные проверки, и это то, что они проверяют. Чтобы использовать свои собственные проверки, удалите: validatable из вашего устройства devise в app / models / user.rb

Если вам интересно, проверка, используемая devise, определена в lib / devise / models / validatable.rb в геме devise.

Если проверка не является проблемой, вам придется показать журнал запроса на создание пользователя, чтобы мы могли видеть, какие параметры отправлены.

РЕДАКТИРОВАТЬ: О, я понимаю, я неправильно прочитал - это о "логин". Ну, смотрите комментарии ниже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...