class Administrate::Field::OrderedHasMany
Constants
- VERSION
Public Class Methods
permitted_attribute(attr, _options = nil)
click to toggle source
# File lib/administrate/field/ordered_has_many.rb, line 7 def self.permitted_attribute(attr, _options = nil) {attr => []} end
Public Instance Methods
associated_class()
click to toggle source
# File lib/administrate/field/ordered_has_many.rb, line 22 def associated_class class_name = self.attribute.match(/ordered_(.+)_ids/)[1].camelcase begin class_name.constantize rescue raise "#{class_name} is not a valid association!" end end
association_name()
click to toggle source
# File lib/administrate/field/ordered_has_many.rb, line 18 def association_name self.attribute.match(/ordered_(.+)_ids/)[1].humanize.pluralize end
selectable_options()
click to toggle source
# File lib/administrate/field/ordered_has_many.rb, line 31 def selectable_options associated_class.all end
to_s()
click to toggle source
# File lib/administrate/field/ordered_has_many.rb, line 11 def to_s return "-" unless data associated_class.find(data).map do |associated_instance| associated_instance.try(:name) || associated_instance.to_s end.join(", ") end
values()
click to toggle source
# File lib/administrate/field/ordered_has_many.rb, line 35 def values return [] unless data if data.is_a?(Array) data else raise "#{self.attribute} must be an array of #{associated_class} ID's, instead it was #{data.inspect}" end end