gpt4 book ai didi

ruby-on-rails - 提交失败后不会重新填充设计(rails)中的其他注册字段

转载 作者:数据小太阳 更新时间:2023-10-29 07:19:40 24 4
gpt4 key购买 nike

我正在使用 devise in rails 作为我的用户系统。

我在注册时有几个额外的字段,例如 - :first_name 以及电子邮件和密码。

我在应用程序 Controller 中使用 devise_parameter_sanitizer 并允许保存 :first_name。这一切都正常工作,用户可以使用所有额外字段进行注册。

但是当表单无效时(例如密码和密码确认不匹配)我遇到了一个问题,用户提交了填写了名字字段的表单。当无效表单返回名字字段数据时已经丢失了。

我该如何设计才能在无效提交后保留这些额外的注册字段,否则用户必须重新输入详细信息。

谢谢。

编辑 - Controller 全部由设计负责。表格是设计附带的表格加上一些额外的字段。我已将此添加到应用程序 Controller 作为保存额外参数的前操作:

  def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up) do |u|
u.permit(
:email, :password, :first_name
)
end
end

View 与设计 View 相同,但有额外的输入。额外的字段保存得很好,它们只是在返回无效的 for 时被删除,如上所述。再次感谢。

最佳答案

在注册 Controller 的 #create 方法中,您需要有 @user = User.new(...) 然后 render :new。在您的 View (表单)中,您需要像 form_for @user 这样的东西(如果没有,还需要 @user = User.new 在您的 #new Controller 中的方法)

关于ruby-on-rails - 提交失败后不会重新填充设计(rails)中的其他注册字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55173759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com