すべて同じモデルで機能する 4 つのステップを含むフォーム ウィザードのセットアップがあります。
最初のフォームに入力して [送信] をクリックすると (ステップ 2 にリダイレクトされます)、フォームは既に入力されており、重複した同一のフォームが下に追加されています。これは各ステップで発生します。
ステップ 1 で [送信] をクリックして 2 (または 3/4) になった後、完全に新しいフォームをレンダリングするにはどうすればよいですか?
ステップ1
<%= simple_form_for @user, url: wizard_path do |f| %>
<h2 class="signup">Step 3: Friends Birthday</h2>
<%= f.simple_fields_for :events do |event_f| %>
<%= event_f.input :name, :placeholder => 'Enter Persons Name' %>
<%= event_f.input :date, :as => :date_picker, :input_html => { :class => 'special' } %>
<%= event_f.input :reccuring, :label => false, :inline_label => 'Remind me of this event every year?' %>
<h3>Choose up to 3 interests for this person</h3>
<%= event_f.association :interests, :label => false, :as => :check_boxes %>
<%= event_f.input :kind, :as => :hidden, :input_html => { :value => "Birthday" } %>
<%end%>
<%= link_to "skip this step", next_wizard_path %>
<%= f.button :submit, 'Submit' %>
<%end%>
ステップ2
<%= simple_form_for @user, url: wizard_path do |f| %>
<h2 class="signup"> Married? Add your anniverarsy</h2>
<%= f.simple_fields_for :events do |anniversary_f| %>
<%= anniversary_f.input :name %>
<%= anniversary_f.input :date, :as => :date_picker, :input_html => { :class => 'special' } %>
<h3>Choose up to 3 interests for this person</h3>
<%= anniversary_f.association :interests, :as => :check_boxes, :label => false %></li>
<%= anniversary_f.input :kind, :as => :hidden, :input_html => { :value => "Anniversary" } %>
<%end%>
<%= link_to "skip this step", next_wizard_path %>
<%= f.button :submit, 'Submit' %>
<%end%>
コントローラー
events_controller.rb
def new
@user = current_user
@event = Event.new
end
def create
@user = current_user
@event = Event.new(params[:event])
@event.user = User.find(current_user.id)
end
ユーザーコントローラー
class UsersController < ApplicationController
before_filter :authenticate_user!
def create
@user = User.new(params[:user])
if @user.save
redirect_to user_steps_path
else
render :new
end
end