При попытке заполнить базу данных я столкнулся с ошибкой проверки в атрибуте электронной почты моей модели пользователя.Ошибка:
Validation failed: Email is too short (minimum is 5 characters), Email is invalid
Дело в том, что мой адрес электронной почты xxxxxxxx@gmail.com
.У меня пять персонажей.Извините за вопрос новичка, но я не знаю, что происходит.Недавно я следил за Railscasts, чтобы сбросить пароль пользователя и включить CanCan.Я не уверен, что CanCan повлияет на что-либо, но до исследования этой новой функциональности я смог полностью заполнить свою базу данных без проблем.Я вставил часть своего кода ниже.Я использую Rails 3.0.5
и Ruby 1.9.2
.
Пример того, как я создаю пользователя в моем начальном файле:
me = User.create(:email => 'me@gmail.com', :password => 'test', :profile => my_profile)
Пользователь.rb модель:
class User < ActiveRecord::Base
attr_accessor :password
attr_accessible :password, :password_confirmation
before_save :encrypt_new_password
before_create { generate_token(:auth_token) }
before_validation :downcase_email
has_one :profile, :dependent => :destroy
accepts_nested_attributes_for :profile
validates :email, :uniqueness => true,
:length => { :within => 5..50 },
:format => { :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i }
validates :password, :confirmation => true,
:length => { :within => 4..20 },
:presence => true,
:if => :password_required?