Mysql 如何避免错误->;重复条目

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

表用户(带有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.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