class BulkUploadSalesResumeController < ApplicationController before_action :authenticate_user! def start @bulk_upload = current_user.bulk_uploads.find(params[:id]) redirect_to page_bulk_upload_sales_resume_path(@bulk_upload, page: "fix-choice") end def show @bulk_upload = current_user.bulk_uploads.find(params[:id]) render form.view_path end def update @bulk_upload = current_user.bulk_uploads.find(params[:id]) if form.valid? && form.save! redirect_to form.next_path else render form.view_path end end private def form @form ||= case params[:page] when "fix-choice" Forms::BulkUploadSalesResume::FixChoice.new(form_params.merge(bulk_upload: @bulk_upload)) when "confirm" Forms::BulkUploadSalesResume::Confirm.new(form_params.merge(bulk_upload: @bulk_upload)) else raise "invalid form" end end def form_params params.fetch(:form, {}).permit(:choice) end end