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

Antwort per Email an