我目前正在尝试创建一个注册表单,其中包含一个字符串
“first_last”并添加“@exampledomain.com”以创建“first_last@exampledomain.com”并将其写入数据库。
但是,如果用户键入完整的域,我不想添加两次,所以我需要一个方法来检查“@exampledomain.com”是否已经存在。我不想以“first_last@exampledomain.com@exampledomain.com”结尾,因为它将无法验证并惹恼用户。
到目前为止,我已将其放入我的用户模型中:
before_validation { concatenate_email }
VALID_EMAIL_REGEX = /[a-zA-Z]{1,}[_]{1}[a-zA-Z]{1,}@exampledomain.com/i
validates :email, presence: true,
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
def concatenate_email
@mail = self.email.match('@asamacm.com')
if @mail = nil
self.email.concat('@asamacm.com')
else
end
end
我是 Rails 和 ruby 的新手,所以如果我的术语不正确,我深表歉意。