ruby-on-rails - 添加用户名以设计 rails 4

标签 ruby-on-rails ruby

我有一个使用 devise 的 Rails 4 应用程序。我试图让用户拥有与其关联的用户名。

我在 Users 表中添加了一个用户名(字符串)列,并且我的应用程序 Controller 如下所示:

class ApplicationController < ActionController::Base

    before_filter :configure_permitted_parameters, if: :devise_controller?
    protect_from_forgery with: :exception
    protected
    def configure_permitted_parameters
       devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email) }
    end

end

我还在用户/注册页面上添加了一个用户名字段。

但是我得到这个错误:

undefined local variable or method `devise_parameter_sanitizer' for #<Devise::RegistrationsController:0x00000101378a28>

所以基本上我的问题是为什么会出现这个错误,或者我还能如何让用户获得用户名?

感谢大家的帮助!

最佳答案

您只允许在登录方法中使用用户名,但我假设当您创建新用户时,它是在注册方法中。所以试试这个:

def configure_permitted_parameters
   devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation) }
end

来源:https://github.com/plataformatec/devise#strong-parameters

关于ruby-on-rails - 添加用户名以设计 rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537665/

相关文章:

ruby-on-rails - gmaps4rails 是否与地理编码器 gem 冲突?

ruby - 字符串中的 `@` 符号导致意外结果

ios - 是否可以在不同的目标中使用不同版本的 Pod?

ruby-on-rails - 异步调用 Controller 操作以返回 URL 以与 image_tag 一起使用

ruby 轨道 3 : Web service with attachment(Excel) as a parameter

ruby-on-rails - 比较 ruby​​ on rails 中的两个日期给出错误 - "can' t 将日期转换为字符串”

ruby-on-rails - 使用 Carrierwave 和 rmagick 上传图像并调整图像大小时堆栈级别太深

ruby-on-rails - Ruby 将整数转换为小时和分钟

css - .well 类中的垂直居中 Bootstrap btn

ruby-on-rails - 合并两个 ruby 对象