Jestem stosunkowo nowy na szynach. . Mam Devise skonfigurować, a chcesz uruchomić jakiś kod wywołania zwrotnego po użytkownicy zalogowaćGdzie powinny być wywoływane zwrotne wezwania w aplikacji szyny?
Patrząc na Warden wiki page, mogę użyć „after_set_user” zwrotnego, aby wykonać tę logikę, na przykład:
Warden::Manager.after_set_user do |user, auth, opts|
unless user.active?
auth.logout
throw(:warden, :message => "User not active")
end
end
Jednak nie jestem pewien, gdzie powinienem przechowywać te rzeczy. Moją pierwszą myślą jest, że mogę umieścić go w config/initializers/devise.rb. Czy to jest poprawne? To nie jest w porządku umieszczanie tego, co w istocie jest kodem kontrolera w katalogu konfiguracyjnym.
Wygląda na filtrze „after_set_user”, to jest moje przypuszczenie jest kontrolerem. – Bnjmn
Właściwie znalazłem sekcję w inicjalizatorze/devise.rb o nazwie "konfiguracja Warden", więc domyślam się, że jest to poprawne miejsce na jej umieszczenie. –
Czy znalazłeś gdzie umieścić ten kod? A może w jakiś sposób dostosowałeś go do stylu kodu inicjalizującego Devise? – dgilperez