Class: RubyUIAdmin::Fields::HasManyField

Inherits:
AssociationField show all
Defined in:
lib/ruby_ui_admin/fields/has_many_field.rb

Direct Known Subclasses

HasAndBelongsToManyField

Instance Attribute Summary

Attributes inherited from BaseField

#block, #id, #options, #resource

Instance Method Summary collapse

Methods inherited from AssociationField

#association_name, #default_hidden_views, #display_label, #fill_value, #reflection, #scoped, #target_model, #use_resource, #value

Methods inherited from BaseField

#database_id, #default_hidden_views, #default_value, #description, field_type, #fill, #fill_value, #filterable?, #formatted_value, #has_default?, #help, #initialize, #link_to_record?, #name, #permit_param, #permit_params, #permitted_param, #placeholder, #readonly?, register_as, #required?, #sort_lambda, #sortable?, #type, #value, #visible?, #visible_in_view?

Constructor Details

This class inherits a constructor from RubyUIAdmin::Fields::BaseField

Instance Method Details

#associated_records(record, limit: 25) ⇒ Object

Capped collection of associated records for display on the show view.



9
10
11
12
13
14
# File 'lib/ruby_ui_admin/fields/has_many_field.rb', line 9

def associated_records(record, limit: 25)
  collection = scoped(value(record))
  return [] if collection.nil?

  collection.respond_to?(:limit) ? collection.limit(limit) : Array(collection).first(limit)
end

#count(record) ⇒ Object



16
17
18
19
20
21
# File 'lib/ruby_ui_admin/fields/has_many_field.rb', line 16

def count(record)
  collection = scoped(value(record))
  return 0 if collection.nil?

  collection.respond_to?(:count) ? collection.count : Array(collection).size
end