Devise, bevor die Filter verhindert, dass auf „new_user_registration_path“ zugreifen, wenn Benutzer angemeldet-in
-
26-09-2019 - |
Frage
Ich bin mit meiner Devise in Rails-Anwendung. Mein Benutzer Modell ist registrierbar, was bedeutet, dass jemand auf gehen kann / users / sign_up und erstellen Sie ein neues Konto.
Ist es möglich, diesen Weg zu schützen, so dass nur signed_in Benutzer neue Konten erstellen?
Lösung
Erstellen Sie einen Regler mit Klasse Devise :: RegistrationsController heriting. Nachdem Sie Ihre Filter hinzufügen können. Sie müssen nur diesen Controller wie Registrierungscontroller definieren
class RegistrationsController < Devise::RegistrationsController
before_filter :authenticate_user!
end
In Ihrem routes.rb
devise_for :users, :controllers => { :registrations => 'registrations'}
Andere Tipps
Es hat für mich nicht funktionierte, weil authenticate_user!
nicht genannt zu werden.
ich es auf diese Weise festgelegt:
class RegistrationsController < Devise::RegistrationsController
before_filter :prevent_sign_up
private
def prevent_sign_up
redirect_to new_user_session_path and return
end
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow