Method: ActiveScaffold::Helpers::FormColumnHelpers#active_scaffold_render_subform_column

Defined in:
lib/active_scaffold/helpers/form_column_helpers.rb

#active_scaffold_render_subform_column(column, scope, crud_type, readonly, add_class = false, record = nil) ⇒ Object

rubocop:disable Metrics/ParameterLists



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/active_scaffold/helpers/form_column_helpers.rb', line 57

def active_scaffold_render_subform_column(column, scope, crud_type, readonly, add_class = false, record = nil) # rubocop:disable Metrics/ParameterLists
  if add_class
    col_class = []
    col_class << 'required' if column.required?(action_for_validation(record))
    col_class << column.css_class unless column.css_class.nil? || column.css_class.is_a?(Proc)
    col_class << 'hidden' if column_renders_as(column) == :hidden
    col_class << 'checkbox' if column.form_ui == :checkbox
    col_class = col_class.join(' ')
  end
  if (readonly && !record.new_record?) || !record.authorized_for?(crud_type: crud_type, column: column.name)
    form_attribute(column, record, scope, true, col_class)
  else
    renders_as = column_renders_as(column)
    html = render_column(column, record, renders_as, scope, only_value: false, col_class: col_class)
    html = (:div, html, active_scaffold_subform_attributes(column)) if renders_as == :subform
    html
  end
end