【问题标题】:How to validate uniqueness in Rails 3 Model if I want to check if there is a 2-field combination?如果我想检查是否存在 2 字段组合,如何验证 Rails 3 模型中的唯一性?
【发布时间】:2011-03-31 02:17:24
【问题描述】:

我想知道 Rails 3 中是否有一种方法,可以验证组合在一起的 2 个字段的唯一性。

逻辑是这样的:

我有两个字段employee_codedate_entry

  • 案例 1:如果 employee_codedate_entry 组合已经存在,则不允许使用相同的 employee_codedate_entry 保存另一条记录。

  • 案例2:如果employee_codedate_entry存在但不在同一条记录上,则允许保存字段。

【问题讨论】:

    标签: ruby-on-rails-3 model


    【解决方案1】:
    validates_uniqueness_of :employee_code, :scope => [:date_entry]
    

    三列或更多列,您只需将元素添加到范围列表:

    validates_uniqueness_of :employee_code, :scope => [:date_entry, :another_column]
    

    或 Rails 3:

    validates :employee_code, :uniqueness => {:scope => :date_entry}
    

    【讨论】:

      【解决方案2】:

      这适用于 Rails 3:

      要仅使用 2 列执行此操作,您可以执行以下操作:

      验证 :empcode, :uniqueness => {:scope => :date_entry}

      对于超过 2 列,您可以执行以下操作:

      验证 :empcode, :uniqueness => {:scope => [:date_entry, :description]}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-01
        • 1970-01-01
        • 2011-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        相关资源
        最近更新 更多