(no title)
flamebreath447 | 3 years ago
Even with the evolution of Ruby on Rails and adding more rich feature sets, I wouldn’t recommend it as an out of the box Webapp BECAUSE upgrading to newer versions of RoR sucks.
The more time I invest in trying to like RoR the more I end up having to fork gems to patch them because upgrades cannot be made smoothly.
It so easily integrates ActiveRecord, and heavily encourages it, that when you want to pull out of using it it’s a huge pain.
Test suite combines unit and integration testing.
It’s been a net loss imho to learn and work with it over the years.
I’ve been waiting to be persuaded otherwise.
Edit: apparently people disagree with me but haven’t countered the points, is HN just full of Ruby fans?
siaw23|3 years ago
And you can use https://railsdiff.org/ to check what you're missing in upgrade apps. Anything other thing that breaks would most like come from another gem, which doesn't make it Rails' fault or Ruby itself, in the case of Ruby, you can track everything to the source to fix it. Ruby keeps a change log diligently. Everything is trackable, at least in my experience.
jacobsenscott|3 years ago
Even with very high test coverage on a large app it is a huge and high risk effort to upgrade - there are so many deprecations and unnecessary behavior changes. The `belongs_to` now validates presence was especially egregious and arbitrary. Of course you can turn it off with a variable - but now we have a rails app that is a mix if defaults from 4 different versions of rails.
the_gastropod|3 years ago
> upgrading to newer versions of RoR sucks
This hasn't been my experience at all. Rails comes with a built-in tool that interactively helps you upgrade your app `rails app:update`. Even on a 300k+ line Rails app I work on, our last major Rails upgrade took a single engineer about a week to do. It could be better, but it's one of the easier frameworks to upgrade, in my experience.
> The more time I invest in trying to like RoR the more I end up having to fork gems to patch them because upgrades cannot be made smoothly
Isn't this the case generally? Dependencies are liabilities. Not sure why this is a problem with Rails?!
> It so easily integrates ActiveRecord, and heavily encourages it, that when you want to pull out of using it it’s a huge pain.
ActiveRecord is a central component of the Rails framework. Why would they encourage you to use an alternative?
> Test suite combines unit and integration testing.
I think it's first important to state upfront: there is no single canonical definition of "unit" or "integration" tests. I assume your point is that the standard unit test examples in Rails hit the database? That being bad is, like, your opinion, man. And you totally can decide to not design things that way.
onnnon|3 years ago
https://rubyonrails.org/doctrine#progress-over-stability
Gigachad|3 years ago
Every single Rails update is extremely painful and issues will slip through every unit test and browser automation you can come up with. Stuff that would be trivially catchable with type checking.
ydnaclementine|3 years ago
But upgrading pure API Rails projects is much less painful
mplewis|3 years ago
hakunin|3 years ago
Gigachad|3 years ago
unknown|3 years ago
[deleted]