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
  • !82

Add support for polymorphic relationships

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge gw-polymorph into master Sep 14, 2015
  • Overview 8
  • Commits 1
  • Pipelines 0
  • Changes 14

Created by: gracewashere

Problem:

Until now, polymorphic relationships were being treated as standard belongs_to relationships. When Administrate inferred the incorrect class name for models, it resulted in a 500 error. This was most commonly seen on the form page.

In addition, when a polymorphic relationship has a non-existant class, the dashboard was throwing errors. This was the case on Upcase, where there are several dangling references from the Classification model to the removed Article model.

More information on https://trello.com/c/dMUeObDx

Solution:

  • Detect polymorphic belongs_to relationships in the dashboard generator
  • Add Administrate::Field::PolymorphicBelongsTo
  • Rescue errors when associated object lookup fails
  • Add a stopgap "not supported" message to polymorphic forms for the moment. Trello card for completing it: https://trello.com/c/D9qnFx10

Related:

  • Update Changelog

Tags: #ruby

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: gw-polymorph