- value = value_from_params(model_class: model_class, property: property, type: type) - form_object = instance_variable_get "@#{object}_form" - input_params = { property: property, object: object, form_object: form_object, value: value } - if !type.class.in?([ Symbol, String ]) && type[:input_options] - input_params.merge!(options: type[:input_options]) - type = type[:type] - if type.class.in?([ Symbol, String ]) || type&.dig(:input_options) - type = type.to_sym = form.label form_object.model.class.human_attribute_name property - case type - when :default = form.input property, **default_params(**input_params) - when :association = form.association property, **association_params(**input_params) - when :polymorphic_association = form.input property, **polymorphic_association_params(**input_params.merge(value: value)) - else = form.input property, **else_params(**input_params.merge(type: type)) - else - property_value = form_object.model.values.present? && form_object.model.values[property.to_s] = render 'tramway/core/shared/input_extended', field: type[:extended_form_property], class_name: :record, value: property_value, f: form