Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement
slug
field partial #764base: main
Are you sure you want to change the base?
Implement
slug
field partial #764Changes from 5 commits
447046f
7641ba5
9b81d1f
e3a2a64
d9d749b
10c0885
d060d19
cd39a97
2dbb466
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have a
slug
column onTeam
from a really long time ago:https://github.com/bullet-train-co/bullet_train/blob/6c11323d5fbeb93eb6974e4d67b6531651d3b9c6/db/migrate/20161117154605_create_teams.rb#L5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Considering changing this, it may not be too big of a deal if
BulletTrain::SuperScaffolding
is defined or not (maybe I can just write a comment saying the the module is only intended for use withBulletTrain::SuperScaffolding
).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we may also need to validate that the slug doesn't match any of the controller actions for this model. For instance if someone tried to use the slug
new
for a team, then that would cause a collision for the path/teams/new
. We'd always want that to point tonew_team_path
and not toteam_path(slug: 'new')
.This article suggests that something like
TeamsController.action_methods
would give us a good list to validate against.For our
Account::TeamsController
theaction_methods
method returns this big ol' list:That seems like too much. This StackOverflow answer suggests a method like this:
Which produces a much more reasonable list:
I'm not sure that we'd need to prevent
member
actions likeedit
andshow
from being used as a slug, though allowing them might result in weird URLs like/teams/show/edit
(theedit
action for the team with a slug ofshow
).Determining which controller to inspect for a given model may be difficult.