瘦身渲染形式意外提交数据

时间:2016-02-23 00:38:36

标签: ruby-on-rails forms slim-lang

我试图在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

有谁知道它为什么会发生?我怀疑缩进导致它行为奇怪。

1 个答案:

答案 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