I did full-time Ruby on Rails development for between three and five years. These days, a huge chunk of what's "included" in Rails is stuff I don't need, and a huge chunk of what's not included in Rails is absolutely essential:
Stuff included in Rails I don't need:
* ORM
* Heavyweight controllers
* Server-side HTML templating
Stuff not included in Rails that I do need:
* Basic DB-level sanity checks, such as uniqueness constraints that actually work
* Any kind of real frontend framework
Stuff that I desperately want that Rails makes fundamentally impossible:
* Sane concurrency
* Not having to pull my hair out over random values in my codebase magically turning into "nil"
The best pattern for developing basic web applications that I've seen lately is basically:
* Use React for the UI. (If you prefer another front-end framework, I don't really want to fight about it, but React is pretty damn good.) Host your statics, well, statically.
* For your backend, use the simplest possible mechanism that receives HTTP requests and emits JSON. If you're married to Ruby, Sinatra does this. Flask does this. Node and Go and Java all have relatively simple mechanisms for this. The mechanism doesn't matter. Route HTTP requests to function; return JSON (or some HTTP response object that encapsulates your JSON) from function.
* For interacting with a relational database, use sprocs. SQL isn't hard; ActiveRecord is probably the best example of the Rails antipattern of, "make easy things easier, and hard things harder".