Skip to main content
Ask A Question
Notifications
You’re not receiving notifications from this thread.
Subscribe

Medium.com style URLs for username

General • Asked by Nino Rosella

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

Login or Create An Account to join the conversation.

Subscribe to the newsletter

Join 31,353+ developers who get early access to new screencasts, articles, guides, updates, and more.

    By clicking this button, you agree to the GoRails Terms of Service and Privacy Policy.

    More of a social being? We're also on Twitter and YouTube.