Sha256: ddab198a15b19d25613d4e786307bfd69befda7e797809fd547c43b4474257ed
Contents?: true
Size: 809 Bytes
Versions: 15
Compression:
Stored size: 809 Bytes
Contents
# frozen_string_literal: true module Eac module CommonFormHelper class FormBuilder module SelectField def select_field(field_name, options = {}) options = options.dup field(field_name, options) do form.select(field_name, select_options(field_name, options)) end end private def select_options(field_name, options) options[:options] || listable_select_options(field_name) || raise('No options found') end def listable_select_options(field_name) return nil unless model_instance.class.respond_to?(:lists) return nil unless model_instance.class.lists.respond_to?(field_name) model_instance.class.lists.send(field_name).options end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems