Method: Compony::ModelFields::Anchormodel#simpleform_input_hidden

Defined in:
lib/compony/model_fields/anchormodel.rb

#simpleform_input_hidden(form, _component, name: nil, **input_opts) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/compony/model_fields/anchormodel.rb', line 13

def simpleform_input_hidden(form, _component, name: nil, **input_opts)
  if form.object
    selected_cst = form.object.send(@name)
    am_attr = form.object.class.anchormodel_attributes[@name]
    am_serializer = (am_attr.multiple? ? ::Anchormodel::ActiveModelTypeValueMulti : ::Anchormodel::ActiveModelTypeValueSingle).new(am_attr)
    input_opts[:input_html] ||= {}
    input_opts[:input_html][:value] = am_serializer.serialize(selected_cst)
  end
  return form.input name || @name, as: :hidden, **input_opts
end