Medium.com style URLs for username
Hi everyone,
I'm implementing a username system in my app, and I'm trying to make the URLs pretty. I'd rather not have anything like:
https://www.myapp.com/users/joebloggs
https://www.myapp.com/u/joebloggs
but rather
https://www.myapp.com/joebloggs
If I want the pretty version I'm going to have to whitelist a whole load of paths, which I'd rather not do. I noticed that Medium.com and producthunt.com do the following to solve this:
https://www.myapp.com/@joebloggs
How do I go about creating the same in a Rails 6 app? Pretty sure I have to namespace the routes, but unsure how to implement it exactly.
Thanks!
Nino
I haven't tested it, but in your routes try:
get "/:username" => "user#show"
In your user controller:
def show
@user = User.where(username: params[:username])
end