Permítame comenzar con su segunda pregunta, más general primero.
¿Cómo se aprende mucho sin sentirse abrumado?
No muerdas más de lo que puedes masticar.
Un marco web de pila completa como Rails incluye muchas partes móviles: desde el manejo de solicitudes (enrutamiento, MVC) hasta la persistencia (ActiveRecord y NoSQL) hasta la presentación (plantillas, activos, JS) a la integración de terceros (servicios web y redes sociales) . ActiveRecord solo abarca migraciones, ORM, validación y relaciones.
- ¿Qué cambios has hecho en tu vida que te han permitido experimentar la vida de una mejor manera?
- ¿Cómo se cambia de un vaso medio vacío a un vaso medio lleno de personas?
- ¿Cuáles son algunas maneras de sentir que mereces el éxito y / o la riqueza?
- Todavía no sé lo que quiero ser en mi vida. ¿Cómo puedo saber en qué soy bueno?
- Cómo mejorar la retención de información.
Si tratas de hacer malabares con todas esas cosas en tu cabeza a la vez, fácilmente te sentirás abrumado. El truco es averiguar si estás más inclinado a aprender cosas ‘verticalmente’ (una característica pequeña a la vez, involucrando varias capas o componentes interdependientes) o ‘horizontalmente’ (una capa a la vez).
Además, si te gusta aprender capa por capa (o componente por componente), ¿eres un tipo de persona ‘de afuera hacia adentro’ (o de arriba hacia abajo) o un tipo de ‘de adentro hacia afuera’ (o de abajo hacia arriba). Afuera, en tipos como ver los resultados de sus esfuerzos de inmediato y puede resultar más gratificante trabajar en la capa de presentación. Desde adentro hacia afuera, a los tipos les gusta conocer el funcionamiento interno (en su mayoría) oculto de las cosas y desde allí construir una imagen mental pieza por pieza hasta que capten todo el sistema.
Soy más de una capa por capa, tipo de persona de adentro hacia afuera.
¿Cómo puedo mejorar en Ruby on Rails incluso si no tengo experiencia con marcos web?
Habiendo dicho todo lo anterior, una vez que descubres qué tipo de persona eres, entonces es cuestión de abordar Rails de esa manera.
En mi caso, comencé con los conceptos básicos del lenguaje de Ruby primero. Cuando me sentía cómodo con Ruby, me mudé a ActiveRecord ya que la persistencia es un componente universal de cualquier aplicación web y los RDBMS son RDBMSs, independientemente del marco / idioma que elija.
Entonces, aprendí las migraciones de ActiveRecord para ver cómo el código Ruby podría generar un esquema SQL, y luego, naturalmente, la parte ORM de ActiveRecord para pasar de los datos SQL a los objetos Ruby, luego la validación y las relaciones. Todo solo desde scripts simples o desde la consola de rieles.
Desde la persistencia, me moví para solicitar enrutamiento (cómo un “GET / widgets” se asignó a qué código), luego el controlador / acción parte de Rails MVC.
A partir de ahí, la capa de presentación: plantillas (primero fue ERB, ahora es HAML), CSS (SASS, ahora) y JS (CoffeeScript, ahora).
Cuando estaba en funcionamiento escribiendo aplicaciones de Rails, pronto me encontraría con la necesidad de algún tipo de biblioteca o integración con un sistema externo (por ejemplo, Twitter bootstrap o OAuth). Luego se trató de encontrar y aprender gemas de terceros o motores Rails, hasta que empecé a escribir gemas de Ruby o mis propios motores Rails.