¿Qué puede hacer Rails que Express.js no pueda?

Rails es mucho más. Toma su código javascript y lo minimiza y lo uglifica, puede combinar sus archivos fuente, ha incorporado el marco del Modelo de Objetos para consultar bases de datos, tiene controladores para casi cualquier cantidad de bases de datos que pueda imaginar, desde SQLite hasta servidor SQL en clúster. Express es casi la parte que Rails llama Rutas y controladores.

Antes de que me cuelgues a secar. Sí, sé que puede instalar Mongoose y cualquier cantidad de otras bibliotecas de NodeJS, no era parte de la pregunta, la pregunta es solo Express.JS vs Rails.

Esta es una comparación que casi no puede hacer, ya que no puede decir cuál es la diferencia entre un motor 8 Cyl y un Ford Mustang. Dada esa comparación, el Mustang tiene un volante, cabina, asientos y encendedor para nombrar algunos elementos que el motor de 8 cilindros no tiene y el Mustang también puede tener un motor de 8 cilindros.

Tal vez deberías comparar Sails.JS con Rails, como su nombre lo indica, es más o menos Rails para NodeJS, empaqueta muchos paquetes externos y te da un sistema completo.

TL; DR: Rails es un sistema completo, ExpressJS es solo una parte

Rails puede acceder a una base de datos sin paquetes adicionales (ActiveRecord se incluye con una instalación de Rails).

Rails tiene un sistema de plantillas incorporado (viene incluido con ERB).

Rails tiene una tubería de activos incorporada (viene incluida con la rueda dentada). Eso significa que, desde el primer momento, puede minificar, uglify, agrupar, compilar JavaScript, CoffeeScript, CSS, SCSS.

Rails tiene turbolinks … Express realmente no tiene eso.

Estas comparando manzanas y naranjas. Una comparación más cercana a Rails en el mundo de NodeJS sería SailsJS. Una comparación más cercana a Express en el mundo de Ruby sería Sinatra. En última instancia, todos esos sistemas se pueden hacer para hacer las mismas cosas. Los sistemas más grandes como Rails o Sails hacen más cosas comunes por usted. Express y Sinatra son más básicos. Elegir uno u otro realmente depende de sus casos de uso.