class EmployerSetupPlansForm include ActiveModel::Model include ActiveModel::Attributes attribute :plans, array: true, default: -> { [] } # attribute :benefit_descs, :hash, default: -> { {} } attr_accessor :id_card_templates attr_accessor :id_card_template_benefits attr_accessor :benefit_descs validates :plans, presence: true # validates :benefit_descs, presence: true def initialize(params = {}) super(params) @id_card_templates = IdCardBenefitsTemplate.where.not(title: "BLANK") @id_card_template_benefits = IdCardBenefitsTemplate.find_by(title: "BLANK").id_card_benefits.sort_by(&:sequence) end # def benefit_descs # @benefit_descs ||= {} # end def save(pl_plan_key) # Implement logic to save data to models after all steps are complete # For example, create a User record with the collected data if valid? plans.each do |plan| plan_id = plan.delete(:plan_id) plan.each do |key, value| Vhcs::HLEgglestonCardBenefit.create( plan_id: plan_id, benefit_desc: benefit_descs["#{key}"], benefit: value, sequence: key, plan_key: pl_plan_key ) end end true else false end end end