我有一個註冊過程,有兩個註冊表單,這取決於您是個人還是公司,都發布到同一模型(用戶與設計)。我正在模型中設置我的驗證,但想知道如何設置每個表單上不同的輸入字段的驗證。驗證兩種形式
例如:company_no僅在該公司報名的形式,但如果我添加驗證了這一領域的個人註冊表格將失敗,並在拋出一個錯誤:company_no場
我已經設置這些鏈接最多將用戶引導至正確的形式
<p><%= link_to 'Sign Up as Individual', new_user_registration_path %></p>
<p><%= link_to 'Sign Up as Vets/Rescue Centre', new_user_registration_path(organization: true) %></p>
查看
<% if params[:organization] %>
<%= render 'shared/company_signup_form' %>
<% else %>
<%= render 'shared/individual_signup_form' %>
<% end %>
一個簡單的驗證的例子,我試圖用
class User < ActiveRecord::Base
validates :company_no, presence: true
end
任何幫助讚賞
謝謝你,所以如果我有一個隱藏字段company_form,value :: true,在record_is_company?方法,我只是把company_form? – Richlewis 2014-09-05 13:04:31
@Richlewis是的,應該這樣做,但不是添加一個額外的隱藏字段,你也可以檢查字段是不同的用戶和公司。我不知道您的數據庫字段,但是您必須有一種方式來區分它是用戶記錄還是公司記錄,因此您可以檢查 – Mandeep 2014-09-05 13:11:01
以及:company_name是公司註冊表單所特有的,所以嘗試驗證:company_name,presence:true,如果:: record_is_company? def record_is_company? company_name結束,但這似乎沒有工作,因爲錯誤消息正在爲每個表單拋出 – Richlewis 2014-09-05 13:18:14