Mysql 如何避免错误->;重复条目
表用户(带有id、用户名、密码、is_admin) 我的控制器(我在其中添加) 当我粘贴同一封电子邮件时,我得到了以下信息:Mysql 如何避免错误->;重复条目,mysql,sql,ruby-on-rails,Mysql,Sql,Ruby On Rails,表用户(带有id、用户名、密码、is_admin) 我的控制器(我在其中添加) 当我粘贴同一封电子邮件时,我得到了以下信息: pre>Mysql::Error: Duplicate entry 'sam@sa.com' for key 'email': INSERT INTO `users` (`created_at`, `updated_at`, `email`) VALUES('2011-05-05 09:05:57', '2011-05-05 09:05:57', 'sam@sa.c
pre>Mysql::Error: Duplicate entry 'sam@sa.com' for key 'email': INSERT INTO `users` (`created_at`, `updated_at`, `email`) VALUES('2011-05-05 09:05:57', '2011-05-05 09:05:57', 'sam@sa.com')</pre>
pre>Mysql::错误:重复条目'sam@sa.com'for key'email':插入'users'('created'u at'、'updated'u at'、'email')值('2011-05-05 09:05:57','2011-05-05 09:05:57','sam@sa.com')
如何避免这种情况?我应该在控制器中写些什么(如果有的话?)
谢谢大家! 您可以验证模型中的唯一性
validates :email, :uniqueness => :true
或者,您也可以像这样在控制器中保存RecordNotUnique
begin
# create user
rescue ActiveRecord::RecordNotUnique => e
# handle duplicate entry
end
您不应该在控制器中执行此操作。这些是您应该在模型中进行的验证。请通读以了解如何进行
begin
# create user
rescue ActiveRecord::RecordNotUnique => e
# handle duplicate entry
end