2013-08-21 4 views
0

В настоящее время я использую программу для регистрации пользователей и хотел бы ограничить регистрацию на основе таких доменов, как @ company.com или @ work.com. Цель состоит в том, чтобы пользователи предоставляли только первую часть своего адреса электронной почты, например «lucy.dale», а затем выбирали свой домен из раскрывающегося меню, такого как @ company.com. Пожалуйста, смотрите код, который я сгенерировал до сих пор ..Редактировать формат электронной почты Devise

<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 &: атрибуты домена для дайте ([email protected]) перед тем, как передать его в атрибут default: email в Devise.

Заранее благодарю вас за помощь

+1

переопределить register_controller, и там переопределить build_resource – apneadiving

+0

Привет apneadiving. Поскольку я новичок, преодолевающий контроллер, немного сложнее. Есть ли способ присоединиться к: first_email и: domian, прежде чем передавать его в Devise: email? – tdops

ответ

1

Я надеюсь, что это поможет кому-то там. Вместо расширения контроллера регистрации разработки я решил использовать Regex для проверки доменов. Это позволит мне ограничить домены, как показано ниже.

validates_format_of :email, :with => /\A([^@\s]+)@(company\.com)|(work\.com)\z/ 

Регулярное выражение добавлено в модель для подтверждения.

Смежные вопросы