Having spent time with Rails, I'd say you're biased.
I went from a dotnet shop to a rails shop, and despite the attitude that Rails is "marvelous", I can't help but feel like Rails is the bastard child of ASP.net.
It feels incredibly similar to working within the constraints of ASP - the framework knows best. Don't questions their choices. Don't do it any other way. Lock yourself into their good choices.
Their choices turn out not to be great for your use case? Fuck off.
Compounded by the fact that Rails is currently in the same death spiral dotnet was before scrapping everything and releasing dotnet core - Rails is great in v1. Rails is much less great in v6, where documentation is shoddy, splintered across versions, there are 5 ways to do anything, but god help you if you don't know the most recent incantation. Memorize all of our conventions, but hey - best practices have changed like 6 times in the last 10 years, so our conventions from yesteryear don't apply, and no, we won't update our documentation and stack overflow answers are bad/outdated.
Basically - Coming in from all sorts of other languages and frameworks I've used in prod (Golang, Dotnet, Dotnet Core, Node, Ts-Node, Rails, PHP, etc) Rails is currently sitting in my shitlist.
That's too bad. I worked at a dotnet shop when I learned rails (on my own) and it was night and day for me. ASP.NET is a poor framework that was tries to take the windows decktop app experience and port it to web. Turns out that is a bad idea...
If I'm building an API for clients - I've really been enjoying Typescript and plain old Express. Setup takes an extra 30 minutes or so compared to Rails - probably longer if you aren't familiar with Typescript and Node already - but it works nicely, has a great minimal default, and mostly gets out of the way. Big plus is that type information can be shared across the client and the server, so you avoid a lot of duplicate effort redefining types, and you don't accidentally change a type on the client and forget the server, or vice versa.
If I'm doing something experimental or hacky (last time I was creating a MITM proxy) definitely GoLang. The language is slim and powerful, they let you peel back most of the abstractions as needed, and the code is fast. The downside is it will absolutely take you longer to get running. The upside is a lack of hurdles once you're actually moving.
If I'm just spinning up a simple static/mostly static site - I actually think DotNet Core is a decent framework. Honestly, so is Rails in this case. I'd pick C# over ruby in a heartbeat, though, explicitly because the older I get, the more I want a type system.
Honestly, I think Rails (and really Ruby) is moving in a direction I support. Particularly adding types. But it's not a language/framework I would pick at the moment, unless I was just doing one-time contract work for a product I know won't be updated.
I went from a dotnet shop to a rails shop, and despite the attitude that Rails is "marvelous", I can't help but feel like Rails is the bastard child of ASP.net.
It feels incredibly similar to working within the constraints of ASP - the framework knows best. Don't questions their choices. Don't do it any other way. Lock yourself into their good choices.
Their choices turn out not to be great for your use case? Fuck off.
Compounded by the fact that Rails is currently in the same death spiral dotnet was before scrapping everything and releasing dotnet core - Rails is great in v1. Rails is much less great in v6, where documentation is shoddy, splintered across versions, there are 5 ways to do anything, but god help you if you don't know the most recent incantation. Memorize all of our conventions, but hey - best practices have changed like 6 times in the last 10 years, so our conventions from yesteryear don't apply, and no, we won't update our documentation and stack overflow answers are bad/outdated.
Basically - Coming in from all sorts of other languages and frameworks I've used in prod (Golang, Dotnet, Dotnet Core, Node, Ts-Node, Rails, PHP, etc) Rails is currently sitting in my shitlist.