Module: ActiveScaffold::Helpers::AssociationHelpers
- Included in:
- ViewHelpers
- Defined in:
- lib/active_scaffold/helpers/association_helpers.rb
Instance Method Summary collapse
- #association_options_count(association, conditions = nil) ⇒ Object
-
#association_options_find(association, conditions = nil) ⇒ Object
Provides a way to honor the :conditions on an association while searching the association’s klass.
-
#options_for_association(association, include_all = false) ⇒ Object
returns options for the given association as a collection of [id, label] pairs intended for the
options_for_select
helper. -
#options_for_association_conditions(association) ⇒ Object
A useful override for customizing the records present in an association dropdown.
- #options_for_association_count(association) ⇒ Object
Instance Method Details
#association_options_count(association, conditions = nil) ⇒ Object
11 12 13 |
# File 'lib/active_scaffold/helpers/association_helpers.rb', line 11 def (association, conditions = nil) association.klass.where(conditions).where(association.[:conditions]).count end |
#association_options_find(association, conditions = nil) ⇒ Object
Provides a way to honor the :conditions on an association while searching the association’s klass
5 6 7 8 9 |
# File 'lib/active_scaffold/helpers/association_helpers.rb', line 5 def (association, conditions = nil) relation = association.klass.where(conditions).where(association.[:conditions]) relation = relation.includes(association.[:include]) if association.[:include] relation.all end |
#options_for_association(association, include_all = false) ⇒ Object
returns options for the given association as a collection of [id, label] pairs intended for the options_for_select
helper.
16 17 18 19 20 |
# File 'lib/active_scaffold/helpers/association_helpers.rb', line 16 def (association, include_all = false) available_records = (association, include_all ? nil : (association)) available_records ||= [] available_records.sort{|a,b| a.to_label <=> b.to_label}.collect { |model| [ model.to_label, model.id ] } end |
#options_for_association_conditions(association) ⇒ Object
A useful override for customizing the records present in an association dropdown. Should work in both the subform and form_ui=>:select modes. Check association.name to specialize the conditions per-column.
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/active_scaffold/helpers/association_helpers.rb', line 29 def (association) return nil if association.[:through] case association.macro when :has_one, :has_many # Find only orphaned objects "#{association.primary_key_name} IS NULL" when :belongs_to, :has_and_belongs_to_many # Find all nil end end |
#options_for_association_count(association) ⇒ Object
22 23 24 |
# File 'lib/active_scaffold/helpers/association_helpers.rb', line 22 def (association) (association, (association)) end |