I have to say that as a rails dev I've never found there to be a lack of documentation. Not if there's even a little bit of a PR process in place.
Rails in general is a huge proponent of test, then code. The tests are the documentation. They tell you what params methods take, and what the output should be.
I'll admit I've never worked on a team over 100, but I have worked on older code bases.
When we found bugs, we wrote new tests to cover the edge case.
Also if someone had "input" as a variable name for a public method, and that made it into main, that's a failing of the PR process.
Most of the complaints here could be replicated in almost any language. In a c++ project I worked on in the 2000's I had a dev create a function void rct(int data). I (as lead) made him rename both the function and the param.