Sha256: aa86eb457f7a41692e3651a7657c3255ac0e9d9393db39f3038e87967c64ff5b
Contents?: true
Size: 1010 Bytes
Versions: 3
Compression:
Stored size: 1010 Bytes
Contents
module Coalla module SortableAssociation def sortable_association(*args) unless respond_to?(:sortable_associations) class_attribute :sortable_associations, instance_writer: false self.sortable_associations = [] end self.sortable_associations += args class_eval do def assign_nested_attributes_for_collection_association(association_name, attributes_collection) association_class = self.class.reflect_on_association(association_name).klass if sortable_associations.include?(association_name) && association_class.attribute_names.include?('position') attributes_collection.each_with_index do |(key, value), index| if key.is_a?(Hash) key[:position] = index elsif value.is_a?(Hash) value[:position] = index end end end super end end end end end ActiveRecord::Base.extend(Coalla::SortableAssociation)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
coalla-cms-0.7.0.0 | lib/coalla/orm/sortable_association.rb |
coalla-cms-0.6.1.1 | lib/coalla/orm/sortable_association.rb |
coalla-cms-0.6.0.9 | lib/coalla/orm/sortable_association.rb |