I know @eileencodes has some plans to get multi tenancy into Rails.
I agree that the current state of affairs is not perfectly ideal. The good news is that the internals of Rails and ActiveRecord are very multi tenant friendly. We have been using it for many many years at Discourse. The bad news is that you need a gem/special library.
At Discourse we use:
We run 100-300 customers on a single cluster, each customer has a dedicated database, all 100-300 databases are clones structure wise (so we can reuse schema cache) but have distinct data.
The one big pitfall we had to work through is keeping on top of all the connections, this involves both running pgbouncer and a custom connection reaper cause unfortunately atm every connection pool gets a dedicated thread to reap connections discourse/discourse.rb at 4601833e4ed98aaaaf90c0ddab2bfebfae42db7c · discourse/discourse · GitHub
We have to be really careful and measured moving towards a native multi tenancy story cause there are many dragons, some of which are not even under rails control. (PG performance suffers with 1000s of open connections for example)