2014-12-02 70 views
0

我有2个选项卡(窗体)的页面,它用于编辑一个对象。Rails在一个模型中的4个不同的验证

E.g.其用户信息。在第一个标签中有个人信息,在下一个标签中有帐单信息。

每个表单都有自己的提交按钮。我如何分别验证字段。如果我理解正确,那么当我尝试提交4个字段(10)的表单时,它会引发错误,其他字段(6/10)错误。

什么是正确的方法来做到这一点?

回答

0

创建2个班,以反映您的UI:

class User 
    has_one :user_info 
    has_one :billing_info 
end 

class UserInfo 
    belongs_to :user 

    # add your validation 
end 

class BillingInto 
    belongs_to :user 

    # add your validation 
end 

在你的控制器:

def edit 
    @user = User.find(params[:id]) 
    @user_info = @user.build_user_info 
    @billing_info = @user.build_billing_info 
end 

然后在您的观点:

= form_for @user_info do |f| 
= form_for @billing_info do |f| 

你需要2个控制器来处理请求POST。应分别命名为UserInfosControllerUserBillingInfosController