【发布时间】: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