【问题标题】:rails 5 error with multiple models and additional fields with Devise使用 Devise 的多个模型和附加字段的 rails 5 错误
【发布时间】:2017-02-11 13:04:15
【问题描述】:

我正在使用 rails 5 和 devise gem 在我的项目中创建不同的模型。

每个模型都有额外的字段,假设用户有一个“用户名”字段。

我按照设计说明添加了这个字段,我在我的 lib 文件夹中创建了一个“user_sanitizer.rb”文件,代码如下:

class User::ParameterSanitizer < Devise::ParameterSanitizer
  def initialize(*)
    super
    permit(:sign_up, keys: [:username, :email])
  end
end

我的“application_controller.rb”看起来像这样:

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

  def devise_parameter_sanitizer
    if resource_class == User
      User::ParameterSanitizer.new(User, :user, params)
    else
      super # Use the default one
    end
  end
end

现在,当我尝试注册新用户时出现此错误:

uninitialized constant User::ParameterSanitizer

所以我真的不知道如何初始化它。

感谢您的帮助

【问题讨论】:

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


    【解决方案1】:

    我找到了解决方案,添加:

    require 'user_sanitizer'
    

    在我的应用程序 controller.rb 文件之上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多