2010-04-22 8 views
12

Últimamente he estado usando Ruby on Rails para muchos proyectos, y pensé que sería interesante echar un vistazo a la fuente de Rails y realmente ver cómo funcionan las cosas debajo. Creo que sería una gran experiencia de aprendizaje y probablemente mejoraría la forma en que codigo las aplicaciones de Rails aún más.Comenzando con aprender la fuente de Rails

¿Alguien tiene algún consejo sobre cómo empezar? ¿Y dónde dentro de la fuente de Rails comienza una aplicación a ejecutarse? Tal vez si comencé allí, pude ver cómo se carga todo y funciona en general.

+4

esta imagen proporciona una amplia visión general de la arquitectura de Rails. cosas comienzan en el despachador, puede seguir su camino a partir de ahí en el código - http://lh4.ggpht.com/Dikiwinky/RwGSHOH-OWI/AAAAAAAAAEI/4UH_4ohjC4U/Rails2.png – Anurag

Respuesta

12

Creo que sería una gran experiencia de aprendizaje y probablemente mejoraría la forma en que codigo las aplicaciones de Rails todo el más.

¡Esta es una gran idea!

El primer lugar donde debe comenzar es el Rails source on GitHub (aquí el branch 2.3). Si está utilizando Rails, probablemente esté familiarizado con el hecho de que Rails está compuesto por algunas gemas diferentes: ActiveRecord, ActiveSupport, ...

Saltar inmediatamente en el código no puede ser tan simple. Yo te sugeriría dos formas alternativas para empezar a cavar en los rieles del código base:

  • tomar el hábito, cada vez que utilice un método, un ayudante o un Rieles comando para saltar a buscar el método en el código fuente y leer eso. Intenta comprender su contexto, cómo funciona y qué métodos/bibliotecas utiliza. Luego, cada vez que el método A usa un método B, comience a caminar hacia atrás y busque el método B. Establezca un límite para el número de búsqueda inversa, por ejemplo 2 niveles superiores para que no termine buscando todo el marco de trabajo inicial. desde el link_to ayudante.

  • en lugar de comenzar desde la parte superior del repositorio, elija la biblioteca con la que está más familiarizado. Si no tiene ninguna preferencia, comience desde ActiveSupport. ActiveSupport es el kit de herramientas de Rails. Proporciona toneladas de extensiones que puede usar en su código Rails e incluso en sus programas Ruby.

se tardará un tiempo antes podrás juntar toda la información y entender cómo funciona una sola aplicación Rails, pero es sin duda vale la pena el esfuerzo.

Como nota al margen, hace unos meses comencé una serie llamada Inside Ruby on Rails. Es posible que desee echarle un vistazo.

0

¿qué tal ...

  • guides.rubyonrails.org
  • railscasts.com
+3

Eso es más aprendizaje de rieles, y no el Rails _source_. –

1

Llego muy tarde a la fiesta. Si está interesado en ActionDispatch (solicitud de enrutamiento al controlador), la documentación "Rails on Rack" es un buen punto de partida.

http://guides.rubyonrails.org/rails_on_rack.html

para la rama maestra actual, necesita guía de borde

http://edgeguides.rubyonrails.org/rails_on_rack.html

El artículo ayuda a comprender la relación entre los guías y la cremallera. Una vez que comprenda el bastidor, puede averiguar el punto de entrada de una solicitud a la infraestructura de rieles. (Implementación de Rails de la interfaz de la aplicación de rack)

Puede seguir el punto de entrada y llegar hasta un controlador. Eso es lo que hice.