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

时间:2014-03-10 12:54:09

标签: ruby-on-rails ruby devise

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

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

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

这是我的gist address

1 个答案:

答案 0 :(得分:7)

如果需要使用新添加的属性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

有关处理强参数的信息,请参阅Devise documentation