【问题标题】:rails uniqueness to boolean attribute布尔属性的唯一性
【发布时间】:2017-10-11 20:48:37
【问题描述】:

我的问题是: 我有一个关联表,无论person_id 可能存在多少个 FALSE 值,我都需要对每个 person_id 进行仅接受 TRUE 作为“主要”列的值的验证。

我尝试按照如下方式进行 Rails 验证:

validates :principal, uniqueness: { scope: :person_id }

很遗憾,验证不起作用。银行允许将多个值为 TRUE 的记录用于委托人,且具有相同的 person_id

【问题讨论】:

    标签: validation unique


    【解决方案1】:

    我认为您别无选择,只能创建自定义验证

    validate :validate_principal_uniqueness
    
    def validate_principal_uniqueness
      errors.add(:principal, "should be uniq") if YourModel.where(principal: true).any?
    end 
    

    参考:http://guides.rubyonrails.org/active_record_validations.html#custom-validators

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      • 2011-12-26
      • 2013-09-24
      相关资源
      最近更新 更多