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