ejemplos - Cómo: Ruby on Rails para construir un sitio básico
ruby tutorial (7)
Comience con mefisto. Le brindará un marco para lograr su objetivo bastante rápido ... de lo contrario, puede simplemente experimentar el aprendizaje de las millones de cosas involucradas en la creación del sitio web de Rails.
Soy un estudiante compacto que quiere aprender un poco sobre desarrollo web; aprendo mejor haciendo. Sé que html / css / php / javascript / xml básico, pero como Ruby es uno de mis lenguajes de scripting favoritos, pensé que aprendería Ruby on Rails.
Me gustaría crear un sitio web básico para un club de amigos en la escuela que solo proporcione información sobre la organización y los servicios que ofrecen, y tenga un panel de administración que contenga un sistema de inventario muy básico (artículo, número en el inventario, costo). - eso es todo) para aprender Ruby on Rails. Lo alojaré en una computadora en el campus, por lo que no tengo que preocuparme por el alojamiento.
Esto puede sonar un poco tonto, pero como alguien que nunca ha construido un sitio web, me preguntaba cómo funciona exactamente uno con rieles, por ejemplo, ¿cómo hago un diseño básico para la parte principal del sitio? como "Inicio, Quiénes somos, Servicios, Contacto, Club Ejecutivo" en la parte superior? ¿Tengo que hacerlo en html y ponerlo en la sección "ver"? Los tutoriales que he leído en Rails ( Getting Started With Rails ) realmente hacen que el sistema de inventario básico parezca fácil, en comparación con esta parte, que utiliza gran parte de la funcionalidad incorporada de Rails y andamios. La documentación de Rails es un poco confusa.
Con un sitio simple, me gustaría ir para un micro-marco Ruby . Los tres que me gustan son: Sinatra , Ramaze o _why''s 4k Camping (consigue el que tiene los errores arreglados ). RoR sería una exageración.
Debería leer sobre la arquitectura de Model-View-Controller si aún no lo ha hecho, ya que es la base de la mayoría de los marcos web, incluido Ruby on Rails.
Debo recomendar Ramaze . Si ya conoces a Ruby, pero aún no conoces Rails, Ramaze se adapta mejor a ti porque está "más cerca de casa" en cuanto a las aplicaciones de Ramaze que son puras (r) Ruby.
Para su acceso a la base de datos, puede elegir entre ORMs. Secuela es más popular entre los Ramazers, pero también hay DataMapper y M4DBI.
Como Alan Alavi ya dijo: Debería familiarizarse con MVC, pero eso puede hacerse simplemente sumergiéndose y ensuciándose las manos.
El libro "oficial" de Rails es bastante bueno si quieres comenzar a construir aplicaciones de Rails. link
Pero en realidad es algo como esto:
- Crear la aplicación de
rails applicationname
utilizandorails applicationname
- Crea los controladores. Se ve que para usted un solo controlador es suficiente, nómbrelo, por ejemplo, main:
ruby script/generate controller main
Ahora tienes un controlador en la
app/controllers
, llamadomain_controller.rb
. Aquí puede insertar las acciones que desea que responda este controlador. Si no desea que el controlador haga nada, solo muestre la vista, deje el método vacío.class Main < ActionPack::Controllers def index end def about end def contact end (...) end
Ahora tienes un controlador que responderá al índice, acerca y contacto.
- Cree las vistas para este controlador en
app/views/main/index.erb
(y otros, como about.erb) - Simplemente puedes usar HTML si quieres
Alternativamente, puede usar un diseño, que debe definir en
app/views/layouts/main.rhtml
En este diseño use HTML, pero donde quiera incluir la vista, escriba<%= yield %>
Ejemplo:<HTML> <BODY> <%= yield %> </BODY> </HTML>
Puede incluir este diseño en el controlador escribiendo
layout :main
en la clase (antes de las declaraciones de métodos)- Ahora, si ejecuta
ruby script/server
en la raíz de la aplicación, puede acceder a las páginas que ha creado. Por supuesto, serán estáticos, pero esto podría hacer que te vayas. Tienes que agregar modelos y algo de lógica a tus controladores para avanzar. Le aconsejo que revise el libro que vinculé si está interesado en más, o revise las alternativas de rieles comomerb
( http://merbivore.org ) que tiene algunas características interesantes y generalmente es más rápido, pero carece de la madurez de los rieles .
Me parece que este sitio podría no ser la mejor manera de aprender Ruby on Rails. Rails es realmente genial para las aplicaciones CRUD (aplicaciones que permiten a los usuarios crear, leer, actualizar y eliminar registros en una base de datos). Ya que su sitio parece ser todas las páginas estáticas, excepto la sección "Contáctenos" (que supongo que es un formulario que envía un correo electrónico con algún tipo de página de confirmación), en realidad se encontrará con una especie de lucha contra "El camino de los rieles".
Idealmente, en una situación como esta, podría lanzar todas sus páginas estáticas al directorio público / y hacer un andamio de Rails rápido para la página "Contáctenos".
Pero al hacer eso, no terminará con un proyecto terminado que se asemeja a una aplicación típica de Ruby on Rails, y en el peor de los casos, es posible que tenga que "desaprender" o al menos "volver a aprender" muchos de los aspectos de la programación de carriles.
Creo que construir una aplicación CRUD con varios recursos (el canónico "Blog de Rails en 15 minutos" es un gran comienzo. Aprenderá más practicando las convenciones de Rails y observando el tipo de flujo de trabajo y aplicación que realmente permite que Rails brille.
Luego, cuando llegue el momento de crear otro sitio web en su mayoría estático, sabrá exactamente qué necesitará hacer para hacerlo.
Mis 2 centavos, de todos modos.
Recogí el libro "Desarrollo web ágil con rieles", y es excelente. Pasa por la construcción de un carrito de supermercado en línea.