It's partly a Rails problem because there's a ton of different ways to implement something, so people will always find reasons to disagree with what you did. And the Rails community seems particularly over-opinionated about these things. There's a lot of cargo cult thinking going on when your stuff gets code reviewed.