【问题标题】:validates_uniqueness_of when updating car.number更新 car.number 时 validates_uniqueness_of
【发布时间】:2016-04-01 23:51:34
【问题描述】:

更新汽车信息时,验证过程失败,因为我有 validates_uniqueness_of :number

class Car < ActiveRecord::Base
validates :number,numericality: true, length: {is: 7 }
validates :number, :name, presence:true
validates_uniqueness_of :number, :message => "מספר רכב זה קיים במערבת"
belongs_to :owner
has_many :visits
end

我需要验证才能通过,如果原始值没有更改,验证 on_create 将无济于事,因为我在更新时仍然需要验证。

任何帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 ruby-on-rails-3.1


    【解决方案1】:

    这对你有用:

    validates :number, :uniqueness => {:scope => :number}, :message => "מספר רכב זה קיים במערבת"
    

    validates_uniqueness_of :number, :message => "מספר רכב זה קיים במערבת", :scope => :number 
    

    【讨论】:

    • 1.我没有 car_id 列,2. 将其替换为 :id,仍然可以将车号更新为现有的。
    • 那么 :scope =&gt; :number 可能会有所帮助,但我不确定
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多