2013-08-21 89 views
0

我目前正在使用設計進行用戶註冊,並希望根據域名@ 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"]) %> 

由於我沒有訪問設計控制器或郵寄,請你能告訴我我如何可以加入:first_email &:域屬性在將它傳遞給Devise中的默認電子郵件屬性之前,先給([email protected])。

感謝您的幫助提前

+1

重寫registration_controller,並有覆蓋build_resource – apneadiving

+0

Hi apneadiving。由於我是一個新手,控制器有點棘手。在將它傳遞給Devise之前,有沒有辦法加入:first_email和:domian:email? – tdops

回答

1

我希望這可以幫助那裏的人。我決定使用正則表達式來驗證域,而不是擴展設計註冊控制器。這將允許我限制域如下所示

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

正則表達式被添加到模型進行驗證。