我们正在使用Rails 4.2.1和最新版本的Devise(3.4.1),但我相信其他版本也会出现同样的错误。
自从我们将范围添加到routes.rb后:
scope '/admin' do
root to: "places#index"
devise_for :users, controllers: { registrations: "users/registrations" }
...
Devise无法登录或退出并出现以下错误:
ActionController::InvalidAuthenticityToken at /admin/users/sign_out.
只要我们移除范围,一切都很好。
我们尝试使用设计自定义路线,但没有任何帮助。
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
答案 0 :(得分:1)
您应该尝试按如下方式定义设计范围:
{{1}}
其他路线适用&#34; / admin&#34;范围单独。