1

Wenn Auto Informationen aktualisieren, die Validierung fehlschlägt, weil ich validates_uniqueness_of haben: Anzahlvalidates_uniqueness_of wenn car.number Aktualisierung

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 

I Validierung müssen passieren, wenn der ursprüngliche Wert nicht geändert wurde, würde die Validierung on_create nicht helfen da ich beim updaten noch eine Validierung benötige.

Jede Hilfe würde wirklich geschätzt werden.

Antwort

1

Dies wird für Sie arbeiten:

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

ODER

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

editierte die Antwort. es funktionierte ? –

+0

1. Ich habe keine Spalte car_id, 2. ersetzt es durch: id, kann die Nummer des Autos noch zu einem vorhandenen aktualisieren. –

+0

dann vielleicht ': scope =>: Nummer' wird helfen, aber ich bin mir nicht sicher –