Devising和Rails 401未经授权使用自定义字段

时间:2017-12-28 23:39:21

标签: ruby-on-rails devise

我一直在尝试将用户身份验证作为我正在开发的CMS的一部分,并且在将Devise与自定义字段集成时遇到了问题。表单正确显示但是当我尝试创建一个新用户时,我得到一个未授权的终端错误,并且没有对象被提交给数据库。

使用Rails 5.1.4和Devise 4.3.0

我的代码错误:

来自终端的错误消息

Started PUT "/users" for 127.0.0.1 at 2017-12-28 18:23:36 -0500
Processing by Devise::RegistrationsController#update as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"CY2/3DW9B6WYypeIlKtB/mTgNgvViZDw94FIwZGyl0ORcrmoEW1Ez/I0FAnpjZNU8aUd5uRJFOMUyM0azyTipA==", "user"=>{"firstname"=>"firstname", "lastname"=>"lastname", "classyear"=>"WG19", "email"=>"email@email.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Create Account"}
Completed 401 Unauthorized in 2ms (ActiveRecord: 0.0ms)

application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

    def configure_permitted_parameters
      devise_parameter_sanitizer.permit(:sign_up, keys: [:firstname,:lastname,:classyear])
    end

end

的routes.rb

Rails.application.routes.draw do

  devise_for :users
  resources :users
  resources :assets
  resources :departments

  resources :courses do
    member do
      get :new_course_by_department
    end
  end
  root 'pages#index'
end

initalizers / devise.rb

Devise.setup do |config|
  ...
  ...
  config.authentication_keys = [ :email ]
end

0 个答案:

没有答案