Ruby on rails 是否有必要或良好的实践来清理所有三种设计动作的参数?

Ruby on rails 是否有必要或良好的实践来清理所有三种设计动作的参数?,ruby-on-rails,authentication,model-view-controller,devise,Ruby On Rails,Authentication,Model View Controller,Devise,designe声明有三个操作允许参数向下传递到模型::sign\u up、:sign\u in和:account\u update。下面的示例(基于他们的文档)建议我使用before过滤器 protected def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [:email, :username, :website, :invitation_code]) end 他们

designe声明有三个操作允许参数向下传递到模型::sign\u up、:sign\u in和:account\u update。下面的示例(基于他们的文档)建议我使用before过滤器

protected 

def configure_permitted_parameters
  devise_parameter_sanitizer.permit(:sign_up, keys: [:email, :username, :website, :invitation_code])
end
他们没有明确指出,对其他两个动作的参数进行清理是一个好主意,或者对其他(非设计)模型参数进行清理是否是一个好主意。这就是我困惑的地方。我应该向上面的代码添加这样的代码吗

protected 

def configure_permitted_parameters
  devise_parameter_sanitizer.permit(:sign_up, keys: [:email, :username, :website, :invitation_code])
  devise_parameter_sanitizer.permit(:sign_in, keys: [:email, :username, :password])
  devise_parameter_sanitizer.permit(:account_update, keys: [:email, :firstname, :lastname, :password, :password_confirmation, :website])
end

另外,我如何知道参数正在转换为哈希?

您不需要清理从未使用过的参数。大概在您的登录(
:在designe中登录
)中,您只使用了
用户名
密码
,因此无需清理任何额外参数


如果用户可以在编辑表单中更新他/她的
名字
网站
等等,那么对于
:account\u update
参数,您将需要这些。因此,我需要一个消毒方法,为每一个行动。谢谢