diff --git a/lib/custom_wizard/wizard.rb b/lib/custom_wizard/wizard.rb index 82693eed..396b8706 100644 --- a/lib/custom_wizard/wizard.rb +++ b/lib/custom_wizard/wizard.rb @@ -243,10 +243,16 @@ class CustomWizard::Wizard return nil unless save_submissions submissions.pop(1) if unfinished? + submission = filter_conditional_fields(submission) submissions.push(submission) set_submissions(submissions) end + def filter_conditional_fields(submission) + included_fields = steps.map { |s| s.fields.map { |f| f.id } }.flatten + submission.select { |key, _| included_fields.include?(key) } + end + def final_cleanup! if id == user.custom_fields['redirect_to_wizard'] user.custom_fields.delete('redirect_to_wizard')