如何为编辑操作指定devise_parameter_sanitizer?

调解人

我已经将Devise添加到我的Rails 4应用程序中,并成功将用户名等添加到了我的用户模型中。此外,我能够使用lazy way™存储这些字段,即

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

  protected

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

但是,我尝试了

def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :password_confirmation, :firstname, :middlename, :lastname) }
  devise_parameter_sanitizer.for(:edit) { |u| u.permit(:email, :password, :password_confirmation, :firstname, :middlename, :lastname) }
end

但这不能按预期方式工作(edit操作调用时未存储用户名)。为了使它正常工作,我还需要做其他事情吗?谢谢!

调解人

再一次,这是阅读手册的问题...

神奇的词是:account_update,因此工作版本成为

def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :password_confirmation, :firstname, :middlename, :lastname, :nickname) }
  devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:email, :password, :password_confirmation, :current_password, :firstname, :middlename, :lastname, :nickname) }
end

请注意,如果您要使用非标准参数登录,那么您要查找的单词就是:sign_in(预期的)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何指定devise_parameter_sanitizer进行编辑操作?

来自分类Dev

如何为visudo指定编辑器?

来自分类Dev

如何为visudo指定编辑器?

来自分类Dev

找不到Rails 5的Devise Parameter Sanitizer“ For”方法

来自分类Dev

如何为“创建”和“编辑”操作显示表单的特定字段 - Symfony3

来自分类Dev

定义实体关系时如何为相关操作指定有效的顺序?

来自分类Dev

如何为Azure部署修复“ .cscfg文件中指定的操作系统版本无效”?

来自分类Dev

如何编辑Devise编辑用户路径以属于用户名?

来自分类Dev

如何编辑Devise编辑用户路径以属于用户名?

来自分类Dev

如何为Groovy指定JVM

来自分类Dev

如何为常量指定类型?

来自分类Dev

如何为vim指定shell?

来自分类Dev

如何为Groovy指定JVM

来自分类Dev

如何为 customBinding 指定 ContentType?

来自分类Dev

如何为DataGridCheckBoxColumn创建通用的编辑样式?

来自分类Dev

如何为Json输出编辑数据SQL

来自分类Dev

如何为Devise的用户名添加子弹?

来自分类Dev

如何为Devise的用户名添加子弹?

来自分类Dev

Xcode Sanitizer如何启用

来自分类Dev

如何为计算列指定最大长度

来自分类Dev

如何为Websocket连接指定主机?

来自分类Dev

如何为Java代理指定类路径

来自分类Dev

如何为Laravel门面指定部分模型?

来自分类Dev

如何为聚类指定距离函数?

来自分类Dev

如何为operator []指定返回类型?

来自分类Dev

如何为销售订单指定项目?

来自分类Dev

如何为sshfs指定密钥文件?

来自分类Dev

如何为Gradle任务指定类别?

来自分类Dev

如何为我的组织指定parentOrganization?