【发布时间】:2012-06-22 15:16:56
【问题描述】:
我正在尝试使用两个不同的提交按钮创建一个简单的表单:一个执行普通提交,一个执行 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>
app/controllers/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 提交和正常提交,但我的困惑是表单中有两个提交! :)
【问题讨论】:
-
退后一步:为什么要显示两个按钮来执行此操作?似乎您只想做一个这些事情:要么是普通的帖子,要么是通过 AJAX。即,您的程序员应该知道哪种情况更适合这种情况并对其进行编码只是为了以一种方式进行。此外,您的“用户”可能不知道 AJAX 是什么,因此向他们显示一个按钮似乎很奇怪。
-
这是给我的一个示例作业,以证明我可以对两个提交进行编码......我知道如何以一种方式或另一种方式来做我只是不确定如何编码两个不同的提交
标签: ruby-on-rails ruby form-for