Rails使用InvalidAuthenticityToken进行范围设计失败

时间:2015-04-29 18:51:50

标签: ruby-on-rails ruby ruby-on-rails-4 devise

我们正在使用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

1 个答案:

答案 0 :(得分:1)

您应该尝试按如下方式定义设计范围:

{{1}}

其他路线适用&#34; / admin&#34;范围单独。