我正在尝试使用两个不同的提交按钮创建一个简单的表单:一个将执行普通提交,一个将执行 ajax 提交并呈现部分。但我不确定如何做到这一点,因为两者都朝着相同的创建操作方向发展。我试过这样的事情:
/views/layouts/_form.html.erb:
<div id="theform">
<%= form_for(@user, :remote => true, :form_to_validate => 'user') do |f| %>
Name: <div id='name'><%= f.text_field :name %></div><br/>
Email: <div id='email'><%= f.text_field :email %></div><br/>
Phone Number: <div id='phone_number'><%= f.text_field :phone_number%></div><br/>
<%= f.submit "Normal Submit", name:'normal' %>
<%= f.submit "Ajax Submit" %>
<% end %>
</div>
应用程序/控制器/user_controller.rb:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if params[:normal]
render :partial => "layouts/user"
end
end
编辑:这似乎是一项奇怪的任务,但这是给我的一项任务,以证明我可以同时做到这一点。我知道如何分别进行 AJAX 提交和正常提交,但我的困惑是表单中有两个提交!:)