class ActiveAdmin::Resource
by calling the #active_admin_config method.
The instance of the current resource is available in ResourceController and views
a new Resource instance within the given Namespace.
When you register a resource (ActiveAdmin.register Post) you are actually creating
Resource is the primary data storage for resource configuration in Active Admin
def association_columns
def association_columns @association_columns ||= resource_attributes.select { |key, value| key != value }.values end
def belongs_to(target, options = {})
def belongs_to(target, options = {}) @belongs_to = Resource::BelongsTo.new(self, target, options) self.menu_item_options = false if @belongs_to.required? options[:class_name] ||= @belongs_to.resource.resource_class_name if @belongs_to.resource controller.send :belongs_to, target, options.dup end
def belongs_to?
def belongs_to? !!belongs_to_config end
def belongs_to_config
def belongs_to_config @belongs_to end
def belongs_to_param
def belongs_to_param if belongs_to? && belongs_to_config.required? belongs_to_config.to_param end end
def breadcrumb
def breadcrumb instance_variable_defined?(:@breadcrumb) ? @breadcrumb : namespace.breadcrumb end
def clear_collection_actions!
def clear_collection_actions! @collection_actions = [] end
def clear_member_actions!
def clear_member_actions! @member_actions = [] end
def content_columns
def content_columns @content_columns ||= resource_attributes.select { |key, value| key == value }.values end
def create_another
def create_another instance_variable_defined?(:@create_another) ? @create_another : namespace.create_another end
def csv_builder
def csv_builder @csv_builder || default_csv_builder end
def decorator_class
def decorator_class decorator_class_name&.constantize end
def default_csv_builder
def default_csv_builder @default_csv_builder ||= CSVBuilder.default_for_resource(self) end
def define_resource_name_extension(resource)
def define_resource_name_extension(resource) Module.new do define_method :model_name do resource.resource_name end end end
def defined_actions
def defined_actions controller.instance_methods.map(&:to_sym) & ResourceController::ACTIVE_ADMIN_ACTIONS end
def find_resource(id)
def find_resource(id) resource = resource_class.public_send *method_for_find(id) (decorator_class && resource) ? decorator_class.new(resource) : resource end
def method_for_find(id)
def method_for_find(id) if finder = resources_configuration[:self][:finder] [finder, id] else [:find_by, { resource_class.primary_key => id }] end end
def order_clause
def order_clause @order_clause || namespace.order_clause end
def resource_attributes
def resource_attributes @resource_attributes ||= default_attributes end
def resource_class
The class this resource wraps. If you register the Post model, Resource#resource_class
def resource_class resource_class_name.constantize end
def resource_column_names
def resource_column_names resource_class.column_names end
def resource_columns
def resource_columns resource_attributes.values end
def resource_name_extension
def resource_name_extension @resource_name_extension ||= define_resource_name_extension(self) end
def resource_quoted_column_name(column)
def resource_quoted_column_name(column) resource_class.connection.quote_column_name(column) end
def resource_table_name
def resource_table_name resource_class.quoted_table_name end
def sort_order
def sort_order @sort_order ||= (resource_class.respond_to?(:primary_key) ? resource_class.primary_key.to_s : "id") + "_desc" end