我目前正在使用设计用户注册,并希望限制基于@ company.com或@ work.com等域名的注册。目的是让用户只提供其电子邮件地址的第一部分,例如“lucy.dale”,然后从@ company.com等下拉菜单中选择他们的域名。请查看我到目前为止生成的代码..
<div><%= f.label :email %><br />
<%= f.text_field :first_email, :autofocus => true %><%= f.select :domain, options_for_select([["Select One", ""], "@company.com", "@work.com", "@office.com"]) %>
由于我无法访问Devise控制器或邮件程序,请告诉我如何加入:first_email&amp; :域名属性(lucy.dale@company.com)在将其传递给Devise中的默认:email属性之前。
感谢您的提前帮助
答案 0 :(得分:1)
我希望这可以帮助那里的人。我没有扩展设计注册控制器,而是决定使用正则表达式验证域。这将允许我限制域,如下所示
validates_format_of :email, :with => /\A([^@\s]+)@(company\.com)|(work\.com)\z/
正则表达式已添加到模型中以进行验证。