2010-07-18 20 views
5

He estado utilizando tutoriales en línea para aprender ROR. He utilizado las lecciones en video de www.lynda.com para tener una idea básica de lo que se trata Rails, y para la práctica utilicé Rails versión 2.0.2, durante mi período de entrenamiento. Pero ahora estoy en un equipo de desarrollo en una empresa inicial donde no hay programadores senior/experimentados que me ayuden y estamos trabajando en la modificación significativa del código fuente con Rails 2.3.8. Que se me presentan muchas dificultades para entender el código fuente y algunas de las principales diferencias que pude notar es como sigue:Cómo dominar Ruby on Rails

  1. Inclusión de XML y HTML para rendir vistas en los andamios, en Rails 2.3.8 (No entiendo qué es esto, ya que nunca me he encontrado con esto durante mi período de entrenamiento usando Rails 2.0.2)

  2. En un directorio fuente importante, además de Controladores, Modelos, Vistas y Ayudantes hay dos más directorios a saber, procesadores y metales. No entiendo cuál es su significado.

  3. Extenso uso de archivos .yml. ¿Para qué son? En los carriles 2.0.2, todo lo que encontré fue la base de datos.yml. Ahora, a la vista, veo gitorious.yml. ¿Cómo están todos estos tan personalizados? Quiero decir, ¿cómo se comunica la aplicación Rails (controladores, modelos, etc.) con gitorious.yml?

Con respecto a todas estas preguntas, ¿cómo puedo mover un nivel o dos hacia arriba, de decir que soy un "rieles intermedios programador" de "Rails programador novato"? y ¿cómo me mantengo actualizado de las nuevas api, deprecaciones, en todas las próximas transiciones de Rails?

Respuesta

3

Inclusión de XML y HTML para rendir vistas en los andamios, en Rails 2.3.8

Sí, los trabajos de andamiaje manera ha cambiado - No puedo recordar exactamente cuando cambió, pero no puedo Ciertamente creo que el cambio ocurrió entre 2.0 y 2.3.

Cuando generó un andamio de la manera antigua, simplemente incluiría comandos 'andamio' en el controlador, lo que representaría una interfaz predeterminada para cada una de las acciones hasta que las reemplazó con sus propias plantillas HTML.

La nueva forma en realidad genera las plantillas HTML como archivos: por lo tanto, en el directorio de vistas, habrá un directorio que contenga ERb (HTML con Ruby incrustado). A continuación, puede ir y editar esos directamente.

También representa XML: esto se hace de forma predeterminada, pero puede elegir qué otros formatos se producen. Rails le permite producir múltiples formatos de salida para cada acción del controlador, para que pueda producir fácilmente servicios web RESTful. Por lo tanto, obviamente produce XML de forma predeterminada, pero es posible que desee producir también otros formatos de máquina: XML (incluido RSS/Atom), JSON (y JSON-P, etc.), RDF, YAML. Utilizo esto para producir CSV y Excel para que los usuarios del sitio puedan exportar los datos a su paquete de hoja de cálculo.

En gitorious directorio de origen, en Además de Controladores, Modelos, Vistas y ayudantes hay dos más directorios a saber, procesadores y metales. No entiendo cuál es su significado .

procesadores/es utilizado por ActiveMessaging - contiene procesadores ActiveMessaging - básicamente código que se llama como parte de la comunicación con una cola de mensajes que ActiveMessaging está conectado a.

metal/contiene un código que se puede caracterizar mejor como 'middleware'; básicamente, para implementar una aplicación de Rails, utiliza una biblioteca llamada Rack que abstrae la interfaz entre el servidor y la aplicación. Le permite usar el mismo servidor web y otra infraestructura y cambiar entre diferentes marcos de Ruby, por lo tanto, si está utilizando Rails o Sinatra o Merb, Rack les permite a todos comunicarse con el mismo servidor.

Ahora, Rack le permite escribir el código 'Metal', que es un código que se ejecuta directamente en el servidor sin que el marco se interponga en el camino. La razón por la que escribe el código de Metal es por el rendimiento: cuando el código de Metal se está ejecutando, se está ejecutando directamente en lugar de con el peso del marco de Rails en el camino. De esta forma, puedes obtener un mejor rendimiento. Nunca he tenido que escribir ningún código de Metal, así que no puedo explicarlo más allá de eso.

Extenso uso de archivos .yml. ¿Para qué son ? En los rieles 2.0.2, todo lo que encontré I fue la base de datos.yml. Ahora, en gitorious, veo gitorious.yml. ¿Cómo son todos estos tan personalizados? Quiero decir, ¿cómo se comunica la aplicación Rails (controladores, modelos, , etc.) con gitorious.yml?

Los archivos .yml son archivos en el formato YAML. En Rails, estos se usan principalmente para la configuración. Al igual que las aplicaciones Java utilizan los archivos .rc para la configuración, los archivos .rc se usan en Unix para la configuración y los archivos .ini se usan (¿se usaron?) Para diversas aplicaciones en Windows para la configuración, puede almacenar datos en el archivo YAML que los Rails la aplicación utiliza para la configuración. Debido a la simplicidad del formato, muchas aplicaciones de Ruby and Rails usan YAML para los archivos de configuración.

Ruby tiene un módulo YAML incorporado que carga estos en el uso de métodos en el módulo YAML incluyendo YAML.load, YAML.load_file, YAML.load_documents etc. Para ver cómo se cargan, sugiero lo más fácil es encontrar la cadena "YAML". en el proyecto - o, de hecho, el nombre de los archivos yml.

Con respecto a todas estas preguntas, ¿Cómo puedo mover un nivel o dos arriba, a decir que soy un "rieles intermedios programador" de "rieles novatos programador"? y ¿cómo me quedo actualizado de nuevas api, deprecations, en todas las próximas transiciones de Rails?

Sugeriría que una buena cantidad de conservadurismo es apropiada con las actualizaciones de Rails. Todavía estoy usando Rails 2.3.3 en un sitio de producción, y eso está bien. Probablemente debería actualizar a 2.3.8, pero tiendo a no ejecutar con la vanguardia en los proyectos de producción.

En cuanto a la mejor manera de aprender, sugiero que trabaje a través de Railscasts - estos son excelentes screencasts cortos que describen todo tipo de técnicas útiles y lo ayudan a aprender mucho sobre el framework de Rails. Cuando necesitas hacer algo, obviamente están los documentos API, que están bien. Los Rails Guides son bastante buenos y vale la pena leerlos.

En cuanto a libros, hay Desarrollo web ágil con Rails - que es un buen tutorial. También hay The Rails Way, que es una referencia de escritorio masiva y, en mi experiencia, una de las únicas buenas maneras de conocer algunas de las minucias. También es posible que desee consultar la pregunta StackOverflow What’s the best resource for learning Rails for a raw beginner?, porque aunque obviamente no es un principiante en bruto, los recursos recomendados son actualizados y útiles para pasar de principiante a intermedio y hacia arriba. ¡Buena suerte!