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

Guess correct class name for namespaced associations

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Pablo Brasero requested to merge github/fork/pablobm/namespaced-associations into main Aug 04, 2022
  • Overview 4
  • Commits 1
  • Pipelines 0
  • Changes 14

Fixes https://github.com/thoughtbot/administrate/issues/1978 https://github.com/thoughtbot/administrate/issues/2209

At lib/administrate/field/associative.rb, we are currently using the wrong incantation to figure out the name of the associated class. What we have works most of the time, but will drop the namespace if there's one.

For example: if Blog::Post.has_many :tags of type Blog::Tags, it will incorrectly guess that the class name of :tags is "Tag" instead of "Blog::Tag".

This breaks the Blog::PostDashboard, which thinks it has to link to TagDashboard instead of Blog::TagDashboard.

The fix is just the one liner in that file. The rest is putting together an instance of this in the example app, and a spec to test it.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/pablobm/namespaced-associations