2012-12-15 9 views
18

Ich habe eine Validierung, die wie folgt aussieht:Active Validate Einmaligkeit mit Scope Zulassen Nil auf Scope

class Book < ActiveRecord::Base 

    belongs_to :author 
    validates :name, uniqueness: { scope: :author_id } 

end 

Das Problem ist, dass ich doppelte Namen zulassen möchten, wo der Autor id Null ist. Gibt es eine Möglichkeit, dies mithilfe der validates-Methode (und nicht eine benutzerdefinierte Überprüfung) zu tun?

Antwort

0

Machen Sie es bedingt:

validates :name, uniqueness: { scope: :author_id }, if: :author_id?