我试图在users/new.html.slim
中渲染多个表单。我和我的"下一个"有问题。 form1中的按钮,当我单击它时自动将表单提交到db。但是,它应该只是呈现下一个形式。
= simple_form_for @user, html: { class: "profile_form"} do |f|
= f.fields_for :profile, @user.profile || Profile.new do |p|
= render 'users/form1', f: f, p: p
= f.submit
这是form1
.form-1
.form-1-detail
= f.input :name
= f.input :email
= f.input :password, required: true
= f.input :password_confirmation, required: true
button.next next
有谁知道它为什么会发生?我怀疑缩进导致它行为奇怪。
答案 0 :(得分:1)
您的问题是使用默认类型的按钮,即“提交”,因此表单中的任何按钮都会触发表单提交,除非您专门更改按钮类型。
您可以通过明确添加type="button"
:
.form-1
.form-1-detail
= f.input :name
= f.input :email
= f.input :password, required: true
= f.input :password_confirmation, required: true
button.next type="button" next