Method: CustomTable::ApplicationHelper#custom_table_fields_definition_for_field

Defined in:
app/helpers/custom_table/application_helper.rb

#custom_table_fields_definition_for_field(model, field, variant = nil) ⇒ Object

Base definition for model



348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'app/helpers/custom_table/application_helper.rb', line 348

def custom_table_fields_definition_for_field(model, field, variant = nil)

  helper_name = "#{model.model_name.singular}_custom_table_fields"

  if (! self.class.method_defined?(helper_name))
    raise "#{helper_name} helper is not defined so we do not know how to render custom_table for #{model}"
  end
  if variant.nil? || method(helper_name).parameters.empty?
    defs = self.send("#{helper_name}")
  else
    defs = self.send("#{helper_name}", variant)
  end
  return nil if defs[field].nil?
  defs = defs[field]
  defs[:label] = model.human_attribute_name(field) if defs[:label].nil?
  return defs
end