我有一个注册过程,有两个注册表单,这取决于您是个人还是公司,都发布到同一模型(用户与设计)。我正在模型中设置我的验证,但想知道如何设置每个表单上不同的输入字段的验证。验证两种形式
例如: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