Mam w bazie m.in. pole z uprawnieniami użytkownika, więc niedopuszczalne jest, aby użytkownik zmodyfikował formularz i podczas rejestracji zmienił to pole. Jeżeli pojawi się jakiekolwiek warunek w rules() to automatycznie pole oznaczane jest jako "safe"?
Jaki jest najlepsze podejście, aby takie pola były automatycznie przypisywane tylko dla określonych akcji, a dla reszty ignorowane?
Ok. Mam pytanie odnośnie kwestii dobrego podejścia przy większej ilości scenariuszy. W przypadku użytkowników mamy m.in. logowanie, rejestrację, aktualizacja profilu, przypomnienie hasła, aktualizacja profilu przez administratora. Tworzenie 5 scenariuszy trochę imho zaciemni reguły.
Jak Wy do tego podchodzicie? Trzymacie się scenariuszy, tworzycie osobne modele czy po prostu korzystać z -> zamiast przypisywać wszystko automatycznie?
Czemu? Jedna reguła może dotyczyć kilku scenariuszy, więc nie jest tak, że aktualną liczbę reguł mnożysz przez liczbę scenariuszy. Wystarczy odpowiednio rozplanować reguły i akcje.
Jeśli formularze nie modyfikują danych bezpośrednio, zawsze tworzę dla nich osobne modele formularzy. Jeśli modyfikują tylko niektóre pola modelu (np zmiana hasła), to różnie. Czasami wygodniej jest wszystko obsłużyć w jednym modelu, czasami lepiej stworzyć nowy model dziedziczący po głównym i nadpisujący tylko reguły, a czasami lepiej stworzyć FormModel z własną obsługą zapisu do głównego modelu. Kwestia sytuacji i podejścia, ale na pewno walidacja w kontrolerze to kiepski pomysł.