Hey! Are you looking to do multi-tenancy based upon domain? If so the apartment gem is what you'll want. It can separate the database out by domain and provides some helpers for that. https://github.com/influitive/apartment
I did an episode on the Apartment gem using subdomains but you can modify that to use domains instead of subdomains. https://gorails.com/episodes/multitenancy-with-apartment
The readme for the gem shows all the relevant bits you'll need to change to support domains instead of subdomains.
As for making usernames at the root instead of on /users, you'll need to make a custom route.
resources :users get ":username", to: "users#show"
The second route will take the
/samsoft route and send it to the users show action. You'll need to make sure this route goes at the end of your routes file so that if you ever add something like
/help it wouldn't think that "help" was a username.
Join 27,623+ developers who get early access to new screencasts, articles, guides, updates, and more.