Hallo,

zunächst mal gibts 2 direkte Möglichkeite um models teilweise zu validieren. Den einen hat Thomas schon gesagt, nämlich mit :if. Alternativ kann man auch im controller sagen dass nur bestimmte attribute validiert werden sollen. Da muss man dann allerdings rails ein bisschen anpassen, oder aber ein plugin nutzen (zB http://expressica.com/plugins/validate_attributes/ - nutze ich selber aber nichh kann also nicht sagen ob gut oder schlecht).

Thema Proc.new: Das is das selbe wie proc oder lambda. nimmt nen block und gibt ne anonyme funktion zurück (inkl. closure die in diesem beispiel aber nicht benötigt wird). der code in dieser funktion wird erst aufgerufen wenn die validierungen laufen: wenn die funktion dann false zurückliefert, wird die entsprechende validierung auf diesem attribute nicht ausgeführt.

überigens kann man das beispiel vereinfachen, und stattdessen diese variante nutzen:

  validates_uniqueness_of :login, :if => :is_guest?, :message => _('Login is 
missing.')

gruß
Thomas

Pa Sc wrote:
   validates_uniqueness_of :login, :if => Proc.new{|u|
u.is_guest?}, :message => _('Login is missing.')

Kannst du mir erklären, welche Funktion "Proc.new" hat?
------------------------------------------------------------------------

_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an