Sha256: d58432b7e032f6a1bd3b0d980af35eb6f132e44995697ce3faf70732bcbd9291
Contents?: true
Size: 1011 Bytes
Versions: 1
Compression:
Stored size: 1011 Bytes
Contents
# frozen_string_literal: true module Phlexi module Form module Components class InputArray < Base include Concerns::HandlesInput include Concerns::HandlesArrayInput def view_template div(**attributes.slice(:id, :class)) do field.multi(values.length) do |builder| render builder.hidden_field_tag if builder.index == 0 field = builder.field( label: builder.key, # we expect key to be an integer string starting from "1" value: values[builder.index] ) if block_given? yield field else render field.input_tag end end end end protected def build_attributes super attributes[:multiple] = true end private def values @values ||= Array(field.value) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
phlexi-form-0.3.0.rc1 | lib/phlexi/form/components/input_array.rb |