Hallo Jürgen, ich verwende eh zwei verschiedene Controller. Insofern ist die Steuerung der beiden Fälle kein Problem.
Allerdings möchte ich nicht alle Validations deaktivieren, was bei „user.save(:validate => false)“ der Fall ist, sondern nur einen Teil davon. Einige Validierungen sollen schon auch in der Administration stattfinden. Viele Grüße Michael Kastner Am 15.02.2011 um 13:34 schrieb Jürgen Walter: > Wie wäre es, wenn du 2 unterschiedliche Controller verwendest, einen für die > Admins und einen für reguläre User? Die Views/Layouts kannst du ja trotzdem > gemeinsam verwenden (falls es Sinn ergibt). > > Dann könntest du im Controller#create des Admins einfach "user.save(:validate > => false)" machen, und könntest das Model in Ruhe lassen. > > Viele Grüße, Jürgen > > On Tuesday, February 15, 2011 at 1:22 PM, rubyonrails...@galt.de wrote: >> Hi Daniel, >> >> vielen Dank für den Hinweis. >> >> Viele Grüße >> >> Michael Kastner >> >> >> Am 15.02.2011 um 13:03 schrieb Daniel Schweighöfer: >> >>> Hallo, >>> >>> ich würde dafür wahrscheinlich validate, validate_on_create oder >>> validate_on_update überschreiben und von da aus wieder die normalen >>> Validierungsmethoden aufrufen. >>> >>> Beste Grüße, >>> >>> Daniel Schweighöfer >>> >>> Am 15.02.11 12:59, schrieb rubyonrails...@galt.de: >>>> Hallo, >>>> >>>> wie kann man es denn am besten bewerkstelligen, verschiedene Fälle von >>>> Validierungen zu definieren? >>>> >>>> Ich habe ein z.B. ein User-Model das beim Zugriff durch den Administrator >>>> anders validiert werden soll, als wenn der Nutzer es verwendet. >>>> >>>> So soll etwa, wenn der Nutzer darauf zugreift, die Telefonnummer verlangt >>>> werden. Wenn der Administrator einen Nutzer anlegt oder bearbeitet, soll >>>> dies jedoch nicht überprüft werden. >>>> >>>> Mir ist bisher nichts besseres eingefallen als eine Kombination aus einem >>>> virtuellen attribut als Schalter (der im jeweiligen Controller >>>> „angeknipst“ wird) und der if-Bedingung in der Validierung: >>>> >>>> class CustomerUser < ActiveRecord::Base >>>> >>>> validates :telephone, :presence => true, :if => lambda{ |u| >>>> u.validate_for_user? } >>>> >>>> attr_writer :validate_for_user >>>> >>>> def validate_for_user? >>>> @validate_for_user >>>> end >>>> >>>> end >>>> >>>> Mir erscheint das nicht sehr elegant. Vor allem wird es, bei vielen >>>> Validierungen sehr schnell unübersichtlich. Vielleicht kennt ja jemand >>>> eine bessere Lösung. >>>> >>>> Viele Grüße >>>> >>>> Michael Kastner >>>> _______________________________________________ >>>> rubyonrails-ug mailing list >>>> rubyonrails-ug@headflash.com >>>> http://mailman.headflash.com/listinfo/rubyonrails-ug >>> >>> >>> _______________________________________________ >>> rubyonrails-ug mailing list >>> rubyonrails-ug@headflash.com >>> http://mailman.headflash.com/listinfo/rubyonrails-ug >> >> _______________________________________________ >> rubyonrails-ug mailing list >> rubyonrails-ug@headflash.com >> http://mailman.headflash.com/listinfo/rubyonrails-ug > > _______________________________________________ > rubyonrails-ug mailing list > rubyonrails-ug@headflash.com > http://mailman.headflash.com/listinfo/rubyonrails-ug _______________________________________________ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug