我在我的用户模型中添加了其他字段,然后相应地更新了configure_account_update_params方法。一切正常,直到我希望用户能够更新他们的信息而无需输入他们当前的密码。
所以我删除了视图的字段并更改了RegistrationsController中的update方法
这是我的控制器,我不确定我是否遗漏了某些东西
class Users::RegistrationsController < Devise::RegistrationsController
before_filter :configure_account_update_params, only: [:update]
def update
resource.update_without_password(resource_params)
end
# If you have extra params to permit, append them to the sanitizer.
def configure_account_update_params
devise_parameter_sanitizer.for(:account_update) << [:first_name, :last_name, :country, :phone_number, :gender, :birthdate]
end
end
答案 0 :(得分:2)
根据设计文档,您应该在控制器中替换它。
class Users::RegistrationsController < Devise::RegistrationsController
protected
def update_resource(resource, params)
resource.update_without_password(params)
end
end