However, it is not a slam-dunk against Ruby on Rails either. Node.js has issues, chief being memory leaks and non-optimal CPU management. Ruby on Rails is better suited to applications that need to handle large number of read/write functions and is much more stable as a CMS platform as well.
Your Choice Depends on What You Want Done
CRUD applications that might need to handle database migrations can be developed using Ruby on Rails with very little effort, the ample amount of available generators being extremely helpful. And on top of this there are many ruby on rails development companies where you can get projects outsourced. On Node.js, you will need to find the requisite modules and integrate them, making it a time consuming process. While Ruby on Rails requires an understanding of Ruby level methods and other things, it is also a self-contained ecosystem replete with models, controllers, data object models and “views” that the user does not have to worry about integrating together.
Node.js is neither a framework nor a new language, but an application runtime. As a result, building a web app in Node.js is a much more involved endeavour than that in Ruby on Rails, where it can be done in a few simple commands using generators. Node.js being completely unopinionated requires you to write additional code if you wish to implement an out-of-the-box feature set a la Ruby on Rails, like implementing an MVC or interacting with an external database. But Node.js has a trump card as its ease of use; it is extremely accessible to anyone with experience in C or Java and even front-end developers. Ruby on Rails must be learned from the ground up, and without a proper understanding of the underlying Ruby code, it is a fundamentally unsound proposition.
There really isn’t any winner in this round. Each has its own merits and demerits and as a developer, you will have to judge which approach is best for your product. Choose wisely!