Wir verwenden Rails 4.2.1 und die neueste Version von Devise (3.4.1), obwohl ich glaube, dass derselbe Fehler bei anderen Versionen auftritt.
Seitdem haben wir Routes zu route.rb hinzugefügt:
scope "/admin" do
root to: "places#index"
devise_for :users, controllers: { registrations: "users/registrations" }
...
Devise kann sich nicht mit folgendem Fehler anmelden oder abmelden:
ActionController::InvalidAuthenticityToken at /admin/users/sign_out.
Alles funktioniert einwandfrei, solange wir den Umfang entfernen.
Wir haben versucht, benutzerdefinierte Routen zu verwenden, aber nichts half.
registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController
before_action :configure_permitted_parameters
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up).push(:first_name, :last_name, :organization)
end
end
Antworten:
1 für die Antwort № 1Sie sollten versuchen, Ihren Spielraum wie folgt zu definieren:
devise_for :users
devise_scope :user do
scope "/admin" do
get "/your_route" ...
end
end
Für den Rest der Routen gilt "/ admin" separat.