【发布时间】:2011-03-12 22:57:44
【问题描述】:
当我第一次实现用户模型时,我允许用户输入大写或小写的电子邮件作为他们的登录信息。问题在于它是一个移动应用程序,有时会发生自动大写,因此用户不会获得身份验证。我已将 CREATE 方法更改为首先将电子邮件小写。但是,这会导致现有帐户的人不一致
那么如何添加迁移以批量更新用户表中的电子邮件字段以将其小写?
【问题讨论】:
-
电子邮件地址不区分大小写,因此应始终将其折叠为小写以便比较和存储。这是在应用程序设计过程中被忽视的事情之一......曾经......然后你就会永远记住它。 :-)
-
不正确。电子邮件地址区分大小写。 RFC5321 规定:[邮箱的本地部分必须被视为区分大小写。因此,SMTP 实现必须注意保留邮箱本地部分的大小写。特别是,对于某些主机,用户“smith”与用户“Smith”不同。]也就是说,出于实际原因,我同意缩小电子邮件地址,特别是用于比较,是值得的。
标签: ruby-on-rails ruby database activerecord