2010-06-18 8 views
12

arbeitet ich habe eine benutzerdefinierte Validierungsmethode, die ich nur auf erstellen ausgeführt werden soll:Angepasste Validierung: auf =>: create nicht

validate :post_count, :on => :create 

def post_count 
    # validate stuff 
end 

Allerdings ist es auf Update gefeuert (zusätzlich zu schaffen, um auf).

Funktioniert die Option :on => :create nicht mit benutzerdefinierten Validierungsmethoden?

+0

Können Sie den Titel und das Tag aktualisieren, um zu klären, welche Rails-Version Sie verwenden? – lulalala

Antwort

9

Soweit ich weiß, gibt es keine :on Option. Verwenden Sie

validate_on_create :post_count 

statt. Und es gibt auch validate_on_update. Sie können über diese Methoden lesen here.

+0

Das ist seltsam, ich war mir sicher: on existed ... hmmm – thomasfedb

+18

Es gibt, validate_on_create ist eigentlich veraltet, DEPRECATION WARNING validate_on_create ist veraltet. Bitte verwenden Sie validieren (args,: on =>: create) – Gunner

+0

j. antwortet wieder! Vielen Dank! – Trip

7

Dies kann eine Rails 2.x vs. Rails 3 Problem sein, sondern nach der Rails Guides on Validation der :on Option ist auf jeden Fall gültig (obwohl ich mit kämpfe, warum es nicht in ähnlicher Weise für mich Brennen).

Verwandte Themen