2 つの異なる送信ボタンを持つ単純なフォームを作成しようとしています。しかし、どちらも同じ作成アクションに向かっているため、これを行う方法がわかりません。私はこのようなことを試しました:
/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送信と通常の送信を別々に行う方法は知っていますが、フォームに2つの送信があると混乱します! :)