Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A administrate
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 96
    • Issues 96
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 32
    • Merge requests 32
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • thoughtbot, inc.
  • administrate
  • Merge requests
  • !466

Allow preloading has_many records

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge gbw-preload-has-many into master Feb 14, 2016
  • Overview 4
  • Commits 1
  • Pipelines 0
  • Changes 1

Created by: gabebw

Let's say an Author has_many Books.

Field::HasMany loads each Book record and calls display_resource on each one. If the Book dashboard defines display_resource to call book.author.name, N Author records will be loaded, one for each book.

This can significantly slow down load time.

To fix this, Administrate users can now tell Administrate to preload associated records using Rails' includes option. Example usage:

Field::HasMany.with_options(includes: [:author])
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: gbw-preload-has-many