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

Don't require developers to define resource controllers

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge infer-controller-resource into master May 30, 2015
  • Overview 3
  • Commits 1
  • Pipelines 0
  • Changes 5

Created by: gracewashere

All of the controller logic for displaying resources lives in DashboardController.

Before this PR, in order to set up the routes for a resource, developers had to create empty DashboardController subclasses that looked like this:

class CustomersController < DashboardController
end

Instead, this PR overrides Object.const_missing to automagically define missing ...Controller classes as subclasses of DashboardController. That way, developers only need to create DashboardController subclasses if they want to override the controller's actions.

This solution requires overriding Object.const_get, which I'm not super thrilled about. An alternative would be to always create the empty resource controllers through a rails generator, but I think it would be annoying for a developer to have a bunch of empty controller classes laying around.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: infer-controller-resource