class Submission < ApplicationRecord belongs_to :form after_create :append_to_spreadsheet validates_presence_of :data def data=(value) sanitized_data = {} value.each do |key, value| sanitized_data[key] = value.to_s end write_attribute(:data, sanitized_data) end def append_to_spreadsheet result = form.append(data) update_column(:appended_at, Time.current) if result.updates.updated_rows > 0 end end