【问题标题】:Rails 4 different validations in one modelRails 在一个模型中进行 4 种不同的验证
【发布时间】:2014-12-02 08:38:33
【问题描述】:

我的页面有 2 个选项卡(表单),用于编辑一个对象。

例如它的用户信息。第一个标签是个人信息,下一个标签是账单信息。

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

这样做的正确方法是什么?

【问题讨论】:

    标签: validation ruby-on-rails-4 activerecord


    【解决方案1】:

    创建 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-29
      相关资源
      最近更新 更多