我添加了:login,:users表上的用户名字段。 注册和登录工作完美。 我将devise.rb更改为authenticate:login而不是:email,以便用户可以使用自己唯一的登录ID登录。
但是,更新edit.html上的电子邮件和用户名字段实际上并没有将记录插入我的MySQL2数据库。
我在控制台上没有发现任何错误。 虽然参数已成功传递,但其记录尚未插入。
这是我的gist address。
答案 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。