Class: CrudComponents::Fields::AttachmentField
- Defined in:
- lib/crud_components/fields/attachment_field.rb
Overview
Active Storage attachment: rendered by content type — image inline, previewable (e.g. PDF) as a preview, otherwise an icon + filename link.
Constant Summary
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
#facets, #model, #name, #options
Instance Method Summary collapse
-
#default_editable? ⇒ Boolean
── forms ────────────────────────────────────────────────────────────.
- #default_renderer ⇒ Object
- #eager_load ⇒ Object
- #form_control ⇒ Object
- #many? ⇒ Boolean
- #permit_param ⇒ Object
Methods inherited from Base
#apply_derived_filter, #apply_filter, #apply_filter_facet, #apply_sort, #column, #custom_header?, #declared_preloads, #derived_filter_control, #derived_filterable?, #derived_sortable?, #editable?, #editable_permitted?, #filter_choices, #filter_control, #filter_facet, #filter_includes_null?, #filterable?, #form_partial, #group_label, #group_model, #header, #header_actions, #human_name, #initialize, #nullable?, #permitted?, #picker_label, #range_filter?, #render_block, #renderer, #renderer_options, #sort_facet, #sortable?, #value
Constructor Details
This class inherits a constructor from CrudComponents::Fields::Base
Instance Method Details
#default_editable? ⇒ Boolean
── forms ────────────────────────────────────────────────────────────
17 |
# File 'lib/crud_components/fields/attachment_field.rb', line 17 def default_editable? = true |
#default_renderer ⇒ Object
6 |
# File 'lib/crud_components/fields/attachment_field.rb', line 6 def default_renderer = :attachment |
#eager_load ⇒ Object
12 13 14 |
# File 'lib/crud_components/fields/attachment_field.rb', line 12 def eager_load [many? ? :"#{name}_attachments" : :"#{name}_attachment", *declared_preloads] end |
#form_control ⇒ Object
18 |
# File 'lib/crud_components/fields/attachment_field.rb', line 18 def form_control = :file |
#many? ⇒ Boolean
8 9 10 |
# File 'lib/crud_components/fields/attachment_field.rb', line 8 def many? @many ||= model.(name).macro == :has_many_attached end |
#permit_param ⇒ Object
19 |
# File 'lib/crud_components/fields/attachment_field.rb', line 19 def permit_param = many? ? { name => [] } : name |