Rails,Devise无法更新我的新字段,如用户名

seo*_*han 2 ruby ruby-on-rails devise

我添加了:login,:users表上的用户名字段.注册和登录工作完美.我将devise.rb更改为authenticate:login而不是:email,以便用户可以使用自己唯一的登录ID登录.

但是,更新edit.html上的电子邮件和用户名字段实际上并不会将记录插入到我的MySQL2数据库中.

我在控制台上没有发现任何错误.虽然参数已成功传递,但其记录仅未插入.

这是我的要点.

Kir*_*rat 8

如果需要update使用新添加的属性的设计模型,则需要明确允许它们(Rails 4中的强参数).例如 :

class ApplicationController < ActionController::Base
  before_filter :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:account_update) << :username ## add the attributes you want to permit
  end
end
Run Code Online (Sandbox Code Playgroud)

请参阅有关处理强参数的Devise文档.