Я использую Wicked gem для создания объекта в несколько шагов. Вроде все работало нормально, пока не понял, что данные не сохраняются. Я заметил, что он не сохранялся, когда url: wizard_path
присутствовал в конструкторе форм. Когда этого нет, данные сохраняются просто отлично, независимо от того, на каком шаге я нахожусь. Вот как выглядит мой контроллер для построителя объектов:
class Bids::BuildController < ApplicationController
include Wicked::Wizard
steps :intro, :problems, :solutions, :pricing
def show
@bid = Bid.find(params[:bid_id])
render_wizard
end
def create
@bid = Bid.new(bid_params)
redirect_to wizard_path(steps.first, :bid_id => @bid.id)
end
def update
@bid = Bid.find(params[:bid_id])
params[:bid][:status] = 'active' if step == steps.last
@bid.attributes = params[:bid].permit(:bid_attribute)
render_wizard @bid
end
# GET /bids/new
def new
@bid = Bid.new
redirect_to wizard_path(steps.first, :bid_id => @bid.id)
end
end