Mam pytanko czy i jak rozwiązać problem walidacji wymaganych pól w modelu w zależności od roli zalogowanego usera?
coś na kształt
if current_user.role == 'admin'
validate_presence_of :a, :b, :c, :d
elsif current_user.role == 'mod'
validate_presence_of :b,:d
else
validate_presence_of :a
end
jedyne co mi się udało osiągnąć, co działa to rożna validacja dla zalogowanych i niezalogowanych poprzez UserSession.find.
[quote=gotar]Mam pytanko czy i jak rozwiązać problem walidacji wymaganych pól w modelu w zależności od roli zalogowanego usera?
coś na kształt
if current_user.role == 'admin'
validate_presence_of :a, :b, :c, :d
elsif current_user.role == 'mod'
validate_presence_of :b,:d
else
validate_presence_of :a
end
jedyne co mi się udało osiągnąć, co działa to rożna validacja dla zalogowanych i niezalogowanych poprzez UserSession.find.[/quote]
Popatrz na ten kod i przemyśl to jeszcze raz
validate_presence_of i wszelkie inne metody, które wykonuje się w ciele klasy, wykonają się podczas tworzenia klasy. Zainteresuj się przełącznikami :if i :unless w validacjach. Jako argument można podać nazwę metody, która się wykona przed walidacją - od jej wyniku zależy czy walidacja się wykona, czy nie.
ech ;/ no za długo chyba już siedzę nad tym. Teraz widzę jakie to głupie, no ale dzięki bo pewnie bym to drążył jeszcze kilka h zamiast na świeżo na to spojrzeć ;]