Chcę mandat, że wszyscy użytkownicy zaakceptować warunki korzystania z usługi, podobnie jak opisano tutaj:Wymyślić, wymagając od użytkownika zaakceptowania warunków korzystania z usługi?
Ruby on Rails/Devise - Bypassing custom validation option in model when resetting password
Jednak istnieją wymogi 2 które sprawiają, że powyższe podejście nie pasuje.
1) Użytkownicy nie są zarejestrowani samodzielnie, a raczej są tworzeni przez administratora systemu. Administrator oczywiście nie może zaakceptować warunków w imieniu użytkowników. Użytkownik powinien zostać poproszony o zaakceptowanie warunków przy pierwszym logowaniu.
2) Jeśli warunki ulegną zmianie po fakcie. Użytkownicy muszą ponownie zaakceptować nowe warunki przy kolejnych logowaniach.
Wydaje się, że są to dość standardowe przepływy pracy. Czy programuje jakiś sposób, aby to osiągnąć?
Jeśli nie, myślę, że ta kontrola będzie musiała zostać zaimplementowana w before_filter na moim kontrolerze aplikacji. (Czuje się brudne mieszanie uwierzytelniania z logiką aplikacji ...)
Czy będę musiał uciec się do tego czy ktoś może zaproponować lepszy sposób?
Dzięki
Myślę, że devise/auth nie ma nic wspólnego z logiką biznesową (warunkami). Będziesz musiał zrobić filtr "przed" w kontrolerze aplikacji. Nie mieszacie auth z logiką biznesową. Użytkownik jest uwierzytelniony, ale nie może uzyskać dostępu do żadnej strony, dopóki nie zaakceptuje warunków użytkowania – bcd