class RailsAdmin::Config::Fields::Types::PolymorphicAssociation

Public Instance Methods

associated_collection(type) click to toggle source
# File lib/rails_admin/config/fields/types/polymorphic_association.rb, line 44
def associated_collection(type)
  return [] if type.blank?
  config = RailsAdmin.config(type)
  config.abstract_model.all.map do |object|
    [object.send(config.object_label_method), object.id]
  end
end
associated_model_config() click to toggle source
# File lib/rails_admin/config/fields/types/polymorphic_association.rb, line 52
def associated_model_config
  @associated_model_config ||= association[:model_proc].call.map{|type| RailsAdmin.config(type) }.select{|config| !config.excluded? }
end
polymorphic_type_collection() click to toggle source
# File lib/rails_admin/config/fields/types/polymorphic_association.rb, line 56
def polymorphic_type_collection
  associated_model_config.map do |config|
    [config.label, config.abstract_model.model.name]
  end
end
polymorphic_type_urls() click to toggle source
# File lib/rails_admin/config/fields/types/polymorphic_association.rb, line 62
def polymorphic_type_urls
  types = associated_model_config.map do |config|
    [config.abstract_model.model.name, config.abstract_model.to_param]
  end

  ::Hash[*types.collect { |v|
        [v[0], bindings[:view].index_path(v[1])]
      }.flatten]
end
value() click to toggle source

Reader for field’s value

# File lib/rails_admin/config/fields/types/polymorphic_association.rb, line 73
def value
  bindings[:object].send(association[:name])
end