关于 rails ruby 中设计用户自定义字段的混淆?

Confusion regarding custom fields in devise user in ruby on rails?

我在 rails 的 ruby 中研究如何在我们的设计用户模型中添加自定义字段,我遇到了这个 link 我只是对以下内容有一个疑问代码-

def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:email) }
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :password_confirmation, :title_id, :province_id, :first_name, :last_name) }
    devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:email, :password, :password_confirmation, :current_password) }
  end

这是在应用程序控制器中编写的,在 :sign_in 的情况下,我们只检查电子邮件,为什么不检查密码,在 :account_update 中,我们为什么不检查 first_name和 last_name 毕竟用户也可以更新他的 first_name 和 last_name。

有人可以帮助我,这 3 行是如何工作的?

Sign-in:消毒剂知道 Devise 默认参数,如 passwordpassword_confirmation。因此您不需要在列表中添加 password

Sign-up/account-update:您可以添加 first_namelast_name 或更改控制器上允许的参数列表。

请看这个documentation

注意:只有给定的参数才允许进一步处理请求。