Escribimos un blog en Ruby on Rails. Introducción a Ruby on Rails Creación de un modelo de artículo

💖 ¿Te gusta? Comparte el enlace con tus amigos

La principal ventaja de cualquier diseñador web es poder comprender, e incluso organizar, lo que sucede "detrás de escena".

Como mínimo, deberías tomar algunas lecciones de programación. No estoy hablando de lenguajes front-end como HTML y CSS; probablemente ya sepa mucho de esto. Estoy hablando de cosas de back-end.

Si sabe cómo sentar las bases, podrá comprender mejor cómo diseñar el resto del sitio. El hecho es que aprender a codificar te hará un diseñador más erudito. Además, ¿quién no querría contratar a un diseñador que sabe todo, desde diseño hasta desarrollo de sitios web?

El truco es elegir un lugar para empezar. Aprender a programar puede ser un proceso difícil, especialmente si elige uno de los lenguajes más difíciles como C++ o PHP.

Entonces, ¿cuál es el mejor lugar para empezar? Respuesta uno: Ruby on Rails es uno de los mejores idiomas programación y marco para aprender los conceptos básicos del diseño.

¿Por qué Ruby es la mejor opción?

Para los principiantes, Ruby es uno de los lenguajes más fáciles de aprender, especialmente si tiene experiencia en HTML o CSS como la mayoría de los diseñadores.

Uno de los primeros programas que harás cuando empieces a aprender un idioma es el infame "¡Hola mundo!", que consiste en imprimir esas palabras en la pantalla.

Con lenguajes como C++, puede haber entre cinco y siete líneas de código solo para mostrar esas dos palabras. Pero si usa Ruby, solo habrá una línea y un comando.

Pone "hola, mundo!"

¡Eso es todo! Eso es todo lo que necesitas para imprimir las palabras "¡Hola mundo!" en la pantalla. Bastante fácil, ¿verdad?

Ruby on Rails también es un lenguaje muy seco. Siendo uno de los principios del desarrollo, DRY (seco) significa "Don't Repeat Yourself" (¡No te repitas!) - es decir, no vuelvas a programar un elemento cuando puedes usar uno que ya has creado. Esto convierte a Ruby en un lenguaje de programación muy ligero y de uso común para el desarrollo, ya que tiene como objetivo realizar un proyecto de manera rápida y eficiente.

¿Rubí o Rails?

Ruby es un lenguaje de programación. Rails es un marco que usa Ruby para hacer el trabajo. El marco Ruby on Rails es una colección de código prefabricado o preescrito que ayuda a acelerar el proceso de creación de nuevos proyectos. Inicialmente, se creó para desarrollar la herramienta de gestión de proyectos Basecamp. Además de Basecamp, existen otras aplicaciones web populares creadas con Rails, como 500px, ThemeForest y MyFitnessPal.

Una vez que comprenda cómo trabajar con el lenguaje Ruby y hacer que las cosas funcionen en el marco Ruby On Rails, puede comenzar a crear aplicaciones web.

Ruby: ¡en la cima de la popularidad!

Gracias a la explosión de popularidad. dispositivos móviles y tecnología que siempre está en contacto, Ruby es increíblemente popular en este momento. Y probablemente seguirá siendo así. El índice TIOBE clasifica a Ruby como el decimotercer lenguaje de programación más popular. De acuerdo con las nuevas tendencias, según Indeed.com, Ruby también está experimentando una demanda sorprendentemente alta.

Índice TIOBE

De cualquier manera, ya sea que elija demanda o popularidad, Ruby es bastante popular. Esto lo convierte en uno de los mejores lugares para comenzar porque una vez que dominas el idioma, puedes conseguir un trabajo bastante rápido. Y eso es antes de que empieces a aprender otro idioma para ampliar tus habilidades.

¡Ruby tiene un punto de apoyo fuerte!

Algunos de los otros lenguajes han estado más a nuestro lado, es cierto, pero aun así, el soporte y la documentación palidecen en comparación con lo que está disponible para Ruby. Otros idiomas también carecen de cohesión comunitaria en torno a un marco de gran soporte.

Gracias al marco de Ruby On Rails, ya hay toneladas de código preexistente que puede usar en sus propios proyectos. Ruby Gems, la biblioteca del marco de Ruby, tiene más de 600 000 bibliotecas para elegir.

Cada vez que aprende algo nuevo, necesita mucha documentación y apoyo. Hay un montón de lugares para encontrar tutoriales, tutoriales, guías e incluso foros de preguntas y respuestas. Si se encuentra con un problema específico, es probable que una simple búsqueda en la web lo solucione. Es importante.

La documentación simple y el fácil acceso al soporte son esenciales cuando estás aprendiendo un nuevo idioma, cuando en realidad estás aprendiendo algo nuevo.

Ruby "permite" más control sobre el diseño

Si solo es un diseñador web, crear un sitio web puede ser un proceso largo y complicado. Cuando se sienta a trabajar con un programador y discute el back-end necesario para su sitio, a menudo tiene que sacrificar el front-end para que todo funcione correctamente.

En última instancia, esto puede conducir a un producto que se ve completamente diferente a su visión original. Puede que al programador no le importe, pero probablemente será problemático para ti.

No te encontrarás con problemas de este tipo si te programas a ti mismo. No tiene que depender de otros para obtener un proyecto terminado y comprenderá mucho mejor lo que se puede lograr en términos de desarrollo. Seguramente hubo un momento o dos en los que los objetivos de su proyecto eran demasiado altos para un programador o equipo de desarrollo. Cuando aprende un lenguaje como Ruby, puede disfrutar de la facilidad de comprender las necesidades y las posibilidades, por otro lado.

Esencialmente, Ruby está diseñado para usarse en aplicaciones web y desarrollo web, por lo que es el lugar perfecto para los aspirantes a diseñadores web. Una vez que comprenda el lenguaje y aprenda a usar el marco Ruby on Rails, tendrá mucho más control sobre sus proyectos.

¿Dónde aprender Rubí?

Más La mejor manera aprender un idioma es sumergirse en él y trabajar con él. También hay muchas guías y tutoriales que puede consultar. Si tiene una memoria visual desarrollada y comprende mejor a través de presentaciones visuales, vaya a YouTube: hay una gran selección de videos educativos.

Si desea una experiencia de aprendizaje similar a la de un salón de clases tradicional, puede aprender programando sitios web de aprendizaje. No tienes que ir a la universidad o colegio para obtener una educación laboral.

Uno de mis recursos favoritos, y completamente gratuito, para aprender Rails es Rails Tutorial de Michael Hartle. Lo llevará de un proyecto simple a uno complejo a su propio ritmo y puede comenzar desde el principio sin ningún conocimiento de Ruby on Rails.

Independientemente del camino de aprendizaje que elija, recuerde que solo la práctica hace al maestro. Establezca metas personales para pasar una cierta cantidad de tiempo cada día trabajando con Ruby. Cíñete a esos objetivos y sé persistente. Antes de conocer este lenguaje hasta el final, ya serás un experto que puede crear algunos proyectos fantásticos.

El autor se vio impulsado a escribir este texto al estudiar una serie de red global materiales que bien podrían ser identificados por el mismo encabezado/etiqueta: Cómo aprendí rubí(o Ruby on Rails, PHP, JS, C++, etc.) por tres días.

Bueno, o algo así. El autor, a su vez, recordó de inmediato (asociaciones incontrolables) una serie de anécdotas, unidas nuevamente por un tema común, que consiste en evaluar las acciones que se pueden realizar tontamente ... el idioma ruso es poderoso e increíblemente aforístico, pero, desafortunadamente , no parece posible citar aquí estas obras maestras; en consecuencia, no queda más que ofrecer a la atención del lector una versión del doki escrito por él mismo del ciclo Cómo disfrutar y aprender a trabajar relativamente rápido en Ruby on Rails.

Siempre se puede encontrar un ejemplo práctico del código descrito en el artículo, entre otros ejemplos de Rails, en el blog de prueba del autor en herokuapp.com, bienvenido.

La técnica es sencilla, y el autor no pretende en absoluto ser pionero aquí: es necesario que sea interesante, y los resultados no tardarían en llegar. No está de más tratar de jugar con tus propias debilidades, a veces incluso la vanidad puede ser beneficiosa para la causa; los resultados del desarrollo deben ser tales que puedan presentarse con orgullo a los lectores, amigos y colegas en la Web, desplegarse en algún lugar de Heroku o Amazonas, también, para que pueda volver a ellos una y otra vez, reconstruir y mejorar, foros y StackOwerflow para ayudarnos a todos. Así que digo, ¿por qué no escribir, para empezar, tu blog en Ruby on Rails?

Sugiero comenzar con los excelentes muelles Getting Started with Rails o su adaptación al idioma ruso de Rails para principiantes, también Build a Blog with Ruby on Rails, también para ayudar a los materiales de este blog, cuyos enlaces se encuentran fácilmente en la barra lateral izquierda. . Y luego, todo, luego magia, al principio todo está escrito como un reloj, abre la consola, y adelante ... el autor considera que es su deber hacer solo algunas explicaciones y recomendaciones técnicas diseñadas para que sea más fácil para el adepto. busque y obtenga el Lado Luminoso de la Fuerza, y no más Togo. Esta es solo tu pelea, sigue adelante y regresa con una victoria.

Entonces. El paso a paso del primer manual está bien calibrado y no te causará, espero, ninguna molestia; solo se requiere que estés atento, repitiendo escrupulosamente los pasos detallados comentados... y en una hora tu primer blog está listo, puedes tomarte un descanso y pasar al segundo, algo más interesante. Y es aquí donde, puede resultar, necesitará algunas palabras de despedida, a las que ahora procederemos.

Comencemos con la declaración de que estos métodos son bastante capaces (alternativamente) de parecerse a lo siguiente, pero de ninguna manera como el original:

app/controladores/posts_controller.rb

# Actualizar acción actualiza la publicación con la nueva información def update if @post.update_attributes(post_params) flash[:notice] = "¡Publicación actualizada con éxito!" redirect_to posts_path else flash[:alert] = "¡Error al actualizar la publicación!" render:edit end end # La acción show presenta la publicación individual después de recuperar la identificación def show end # La acción destroy elimina la publicación permanentemente de la base de datos def destroy @post = Post.find(params[:id]) if @post .destroy flash[:notice] = "¡Publicación eliminada con éxito!" redirect_to posts_path else flash[:alert] = "¡Error al actualizar la publicación!" final final

Y, sin embargo, intente de esta manera y de aquella, por qué no. Vamos más allá.

El segundo blog, aunque más complejo (editor de artículos añadido CKEditor Y dispositivo, una herramienta de autenticación flexible para aplicaciones de rieles), por alguna razón no permite comentarios en el original. Tendrá que compensar esta deficiencia usted mismo: proceda por analogía con la descripción de la creación del primer blog, solo se requerirán cambios muy pequeños: en pocas palabras, en lugar de artículo Y artículos el primer blog que tendrás correo Y publicaciones en el segundo blog, eso es todo, de hecho, la diferencia. Ten cuidado y todo saldrá bien.

Recaptcha también tendrás que vincularte a los comentarios tú mismo: sí, sí, esto no es Joomla para ti, acostúmbrate. Sin embargo, no se requieren esfuerzos titánicos, el proceso de conexión Recaptcha descrito en detalle en el artículo Incluyendo Recaptcha en la aplicación Rails. Además, no es superfluo ajustar dispositivo de tal forma que el blog funcione (¡al menos al principio!) en modo monousuario, permitiendo que muchos de sus lectores estén en modo SÓLO LECTURA, es decir, prohibiremos el registro de nuevos usuarios para empezar. Hay muchas recetas diferentes en la web sobre cómo hacer esto, pero, en mi opinión, el truco más competente de este tipo está en Wiki Devise, en un material llamado How To: Set Up Devise as a single user system. Es decir, creamos un nuevo controlador:

app/controladores/registrations_controller.rb:

Controlador de registros de clase< Devise::RegistrationsController before_action:one_admin_registered?, only: [:new, :create] protected def one_admin_registered? if ((Admin.count == 1) & (admin_signed_in?)) redirect_to root_path elsif Admin.count == 1 redirect_to new_admin_session_path end end end

luego lo anulamos en rutas.rb y eso es todo:

#devise_for:admins devise_for:admins, controllers: (registros: "registros")

CKEDITOR.editorConfig = function(config) ( // config.enterMode = 2; //deshabilitado

Completamente config.enterMode = CKEDITOR.ENTER_BR // presionando la tecla ENTER de entrada
config.shiftEnterMode = CKEDITOR.ENTER_P; //presionando la entrada SHIFT + ENTER KEYS

Config.autoParagraph = falso; // detiene la inserción automática de

enfocado);

Quizás, para empezar, eso es realmente todo... joder, casi se me olvida lo más importante. Si va a implementar su nuevo blog en Heroku- añadir estas tres líneas a

config/aplicación.rb

Config.assets.precompile += Ckeditor.assets config.assets.precompile += %w(ckeditor/*) config.autoload_paths += %W(#(config.root)/app/models/ckeditor)

De lo contrario CKEditor se niega a trabajar para usted en un lugar nuevo.

Ruby comenzó a desarrollarse el 23 de febrero de 1993 y se lanzó en 1995. El nombre está inspirado en el lenguaje Perl, gran parte de la sintaxis y la semántica se toman prestadas de Ruby (pearl - "pearl", ruby ​​​​- "ruby"). El objetivo del diseño era crear un lenguaje de programación interpretado "verdaderamente orientado a objetos", fácil de desarrollar.

El lenguaje es independiente de Sistema operativo implementación de subprocesos múltiples, tipado dinámico fuerte, recolector de basura y muchas otras características. La implementación multiplataforma del intérprete de idiomas es completamente gratuita.

Ruby on Rails (RoR) es un marco escrito en el lenguaje de programación Ruby. Implementa el patrón arquitectónico Modelo-Vista-Controlador para aplicaciones web y también proporciona su integración con el servidor web y el servidor de base de datos. Esta abierto software y distribuido bajo la licencia MIT.

Para ayudarlo a aprender sobre estas tecnologías, hemos reunido una selección de libros. Como siempre, si conoces algún libro que no esté incluido en este material, compártelo en los comentarios.

Este libro es para aquellos que quieren escribir Ruby como un profesional. Te enseña cómo diseñar hermosas API y trabajar con técnicas de programación funcional. El libro no es adecuado para principiantes, pero para aquellos que ya entienden Ruby, definitivamente será útil.

El objetivo de este libro es enseñar a los lectores cómo usar el lenguaje Ruby de manera efectiva. El libro cubre Ruby 2.1. La publicación contiene alrededor de 400 ejemplos diferentes, acompañados de una exposición clara del problema y su solución con comentarios detallados.

El libro tiene un umbral de entrada bastante bajo. No necesita saber los conceptos básicos de desarrollo web para aprenderlo. En el libro, el material sobre Ruby on Rails, un marco popular para desarrollar aplicaciones web, se proporciona desde cero. El autor Michael Hartl, además de Ruby on Rails, presenta al lector los conceptos básicos del propio lenguaje Ruby, el lenguaje de consultas SQL, CSS, HTML. El libro se centra en uso práctico capacidades del marco. También puede leer un extracto del libro.

Y este libro es para principiantes. Su complejidad aumenta gradualmente, y en cada sección siguiente se utilizan las habilidades adquiridas en las anteriores.

Con "Learn Ruby" aprenderás en la práctica todas las posibilidades de este lenguaje, que rápidamente cautivó a los programadores primero en California y luego en Rusia, de una manera fácil y divertida.

Después de leer este libro, aprenderá a escribir código elegante utilizando todas sus características únicas.

Este libro echa un vistazo detallado a las partes internas del lenguaje Ruby. No es necesario que el lector conozca Ruby, pero el conocimiento de C y, en particular, los principios de OOP serán una gran ventaja.

Este libro es una gran introducción a Ruby. Cubre todos los conceptos básicos necesarios, desde la configuración del idioma hasta el manejo de archivos y programación orientada a objetos. Cada tema se proporciona con ejemplos claros.

Este libro trata sobre una de las características más interesantes de Ruby: los bloques. Son similares a los cierres y las lambdas y se utilizan tanto en estructuras de lenguaje simples como bloques como en trucos complejos.

Este libro está dividido en varias secciones, que varían en complejidad. Primero, hablamos sobre la configuración y las funciones básicas de Ruby, y luego hablamos sobre la biblioteca estándar y los temas avanzados.

En este artículo, quiero mostrarle cómo crear una aplicación de base de datos MySQL simple en un entorno Ruby on Rails 3. Puede pensar en este material como guía paso por paso para programadores principiantes de Rails.

Entonces, para el trabajo necesitamos rieles instalados y rubygems. Ayer tuve un problema con este último, así que tuve que quitar el paquete rubygems1.8, que no estaba claro cómo terminó en el sistema, e instalar rubygems1.9. Les recuerdo que desarrollo en Ubuntu, aunque creo que los comandos de la consola de Rails serán los mismos para Windows. Uso NetBeans como entorno de desarrollo con un complemento para Ruby on Rails. Sobre la instalación está bien escrito en mi colega.

Comprobación de enlaces

Debe asegurarse de que el directorio /usr/bin contenga enlaces simbólicos rails, rake, ruby, bundler a archivos del directorio /usr/local/ruby/bin. Para ver los enlaces, use el comando:

dependiendo de lo que quieras filtrar.

Creamos una aplicación

He creado un directorio especial para mis aplicaciones Ruby.

mkdir /home/andrey/rubí
cd /home.andrey/ruby

Los rieles tienen mucho utilidades de la consola, que facilitan mucho el trabajo, especialmente en el prototipado. Para crear una aplicación usando mysql como base de datos, ejecute el comando:

app es el nombre de nuestra nueva aplicación. Después de ejecutar el comando, veremos cómo Rails creó el marco de la futura aplicación para nosotros.

[correo electrónico protegido]:~/ruby# carriles nueva aplicación -d mysql
crear
crear LÉAME
crear Rakefile
crear config.ru
crear .gitignore
crear archivo de gemas
crear aplicación
crear aplicación/controladores/application_controller.rb
crear aplicación/ayudantes/application_helper.rb
crear aplicaciones/mailers
crear aplicaciones/modelos
crear aplicación/vistas/diseños/aplicación.html.erb
crear configuración
crear config/routes.rb
crear config/application.rb
crear config/environment.rb
crear configuraciones/entornos
crear config/entornos/desarrollo.rb
crear config/entornos/producción.rb
crear config/environments/test.rb
crear config/inicializadores
crear config/initializers/backtrace_silencers.rb
crear config/initializers/inflections.rb
crear config/initializers/mime_types.rb
crear config/initializers/secret_token.rb
crear config/initializers/session_store.rb
crear configuraciones/locales
crear config/locales/en.yml
crear config/boot.rb
crear configuración/base de datos.yml
crear base de datos
crear db/semillas.rb
crear documento
crear doc/README_FOR_APP
crear biblioteca
crear lib/tareas
crear lib/tareas/.gitkeep
crear registro
crear registro/servidor.log
crear registro/producción.registro
crear registro/desarrollo.log
crear registro/prueba.registro
crear publico
crear público/404.html
crear público/422.html
crear público/500.html
crear público/favicon.ico
crear public/index.html
crear público/robots.txt
crear público/imágenes
crear public/images/rails.png
crear público/hojas de estilo
crear público/hojas de estilo/.gitkeep
crear público/javascripts
crear public/javascripts/application.js
crear public/javascripts/controls.js
crear public/javascripts/dragdrop.js
crear public/javascripts/effects.js
crear public/javascripts/prototype.js
crear public/javascripts/rails.js
crear guión
crear secuencias de comandos/rieles
crear prueba
crear pruebas/accesorios
crear prueba/funcional
crear prueba/integración
crear prueba/rendimiento/browsing_test.rb
crear prueba/test_helper.rb
crear prueba/unidad
crear tmp
crear tmp/sesiones
crear tmp/sockets
crear tmp/caché
crear tmp/pids
crear proveedor/complementos
crear proveedor/complementos/.gitkeep

Entramos en la carpeta con él e instalamos las gemas necesarias. Las gemas son bibliotecas de complementos necesarias para un proyecto (similares a PECL y PEAR de PHP).

Después de eso, la consola tendrá algo como esto:

[correo electrónico protegido]:~/ruby/app> instalación del paquete sudo
Usar rastrillo (0.8.7)
Usando resumen (1.0.0)
Uso de soporte activo (3.0.0)
Usando el constructor (2.1.2)
Usando i18n (0.4.2)
Usando modelo activo (3.0.0)
Usando erubis (2.6.6)
Usando el estante (1.2.1)
Uso de montaje en rack (0.6.13)
Usando la prueba de rack (0.5.6)
Usando tzinfo (0.3.23)
Uso del paquete de acción (3.0.0)
Uso de tipos MIME (1.16)
Usando políglota (0.3.1)
usando la copa de un árbol (1.4.8)
Uso del correo (2.2.9)
Usando actionmailer (3.0.0)
Uso de arel (1.0.1)
Usando registro activo (3.0.0)
Uso de recursos activos (3.0.0)
Usando el paquete (1.0.3)
Usando mysql2 (0.2.6)
Usando thor (0.14.4)
Uso de rieles (3.0.0)
Usando rieles (3.0.0)
¡Tu paquete está completo! Use `bundle show` para ver dónde está instalada una gema incluida.

Esto significa que todas las gemas están instaladas y conectadas. Si falta algo, el paquete en sí lo descargará de rubygems y lo instalará. Esto es lo que me faltaba en php desde hace mucho tiempo, de hecho resulta ser un instalador de proyectos. La lista de gemas dependientes se encuentra en Gemfile en la raíz del proyecto.

Configuración

Ahora necesitamos especificar los detalles de acceso a la base de datos de nuestro proyecto. Abra el proyecto en NetBeans: Nuevo proyecto -> Ruby -> Aplicación Ruby on Rails con fuente existente. Especifique la ruta, en mi caso será (/home/andrey/ruby/app) y el nombre del proyecto (app). Como Plataforma Ruby, seleccionamos la instalada en el sistema, y ​​no la integrada en NetBeans. Haga clic en Finalizar y se crea el proyecto. Abra la pseudocarpeta Configuración y el archivo base de datos.yml. Aquí debe especificar un nombre de usuario y una contraseña para acceder a la base de datos, preferiblemente para los tres entornos a la vez (desarrollo, prueba, producción). El entorno es el entorno en el que se ejecutará nuestra aplicación,

  • desarrollo - computadora del desarrollador,
  • producción - servidor de producción,
  • prueba: trabaje en modo de prueba en el servidor de integración continua o en la computadora del evaluador.

los rieles generan el modelo Nombre de usuario: cadena hash_password: cadena salt: cadena

Puede ver de inmediato lo que Rails ha generado para nosotros:

invocar active_record
crear db/migrar/20101107054200_create_users.rb
crear aplicación/modelos/usuario.rb
invocar test_unit
crear prueba/unidad/user_test.rb
crear prueba/accesorios/usuarios.yml

Ok, ahora necesitamos crear una base de datos. Ejecutamos para esto:

[correo electrónico protegido]:~/ruby/app$ rake db:crear
(en /home/andrey/ruby/app)
[correo electrónico protegido]:~/ruby/app$ rake db:migrar
(en /home/andrey/ruby/app)
== CreateUsers: migrando ============================================= ======
- create_table(:usuarios)
-> 0.0061s
== CreateUsers: migrado (0.0063s) ========================================= =

La consola genera los datos agregados. Buscamos en phpmyadmin y vemos las nuevas bases de datos app_development y app_test, así como las tablas que contienen. Ahora es el momento de agregar los datos reales. Para hacer esto, inicie la consola de Rails

La consola no es solo una consola, sino una consola IRB en el contexto de su aplicación. Vamos a crear dos usuarios como ejemplo:

[correo electrónico protegido]:~/ruby/app$ consola de rieles
Cargando entorno de desarrollo (Rails 3.0.0)
irb(principal):001:0> usuario1 = Usuario.nuevo
=> #
irb(principal):002:0> usuario1.nombre = "andrey"
=> "Andrés"
irb(principal):003:0> usuario1.guardar
=> cierto
irb(principal):004:0> usuario2 = Usuario.nuevo
=> #
irb(principal):005:0> usuario2.nombre = "vasily"
=> "vasily"
irb(principal):006:0> usuario2.guardar
=> cierto

irb(principal):007:0> salir
[correo electrónico protegido]:~/rubí/aplicación$

Miremos la base de datos, y de hecho tenemos dos usuarios. Tenga en cuenta que Rails agregó columnas de clave principal y campos created_at (fecha de creación) y updated_at (fecha de modificación) al modelo.

Tenemos el modelo, los datos también. Es hora de lanzar nuestra aplicación.

[correo electrónico protegido]:~/ruby/app$ servidor de rieles
=> Arrancando WEBrick
=> Aplicación Rails 3.0.0 comenzando en desarrollo en http://0.0.0.0:3000
=> Llamar con -d para desconectar
=> Ctrl-C para apagar el servidor
INFORMACIÓN WEBrick 1.3.1
INFO rubí 1.9.2 (2010-08-18)
INFORMACIÓN WEBrick::HTTPServer#inicio: pid=4193 puerto=3000

La aplicación se está ejecutando, abra el navegador en la dirección y vea la página de prueba.

Genial, la aplicación está funcionando. Pero muestra una página HTML normal de la carpeta /public/index.html. Y queremos dinámica. Abrimos la segunda ventana de la consola (porque en la primera tenemos un servidor Ruby - WebRick ejecutándose), vamos a la carpeta del proyecto y escribimos allí el siguiente comando:

[correo electrónico protegido]:~/ruby/app$ los rieles generan el índice del índice del controlador
crear aplicación/controladores/index_controller.rb
ruta obtener "índice/índice"
invocar erb
crear aplicación/vistas/índice
crear aplicación/vistas/index/index.html.erb
invocar test_unit
crear prueba/funcional/index_controller_test.rb
invocar ayudante
crear aplicación/ayudantes/index_helper.rb
invocar test_unit
crear prueba/unidad/ayudantes/index_helper_test.rb
[correo electrónico protegido]:~/rubí/aplicación$

Con esto creamos el controlador Index, en él la acción Index y la vista de esta acción index.html.erb Hacemos Refresh (F5) en NetBeans y miramos nuestros archivos. Asombroso. Ahora necesitamos redirigir de alguna manera la ruta de la página principal a la acción del controlador que creamos. Abra el archivo de rutas (Configuration/routes.rb) y descomente la siguiente línea allí:

# Puede enrutar la raíz de su sitio con "root"
# solo recuerda eliminar public/index.html.
root:to => "bienvenido#índice"

Pero en lugar de bienvenido, también escribimos index. Bueno, según Zend Framework, me acostumbré al hecho de que el controlador y la acción predeterminados se llaman index (no olvides eliminar (o renombrar) el archivo public/index.html).

raíz:a => "índice#índice"

Actualizamos la página en el navegador y vemos que ahora se muestra nuestra vista.

índice#índice

Multa. Ahora puedes codificar Entramos en nuestro controlador recién creado (Controladores -> index_controller.rb) y escribimos el siguiente texto de acción allí:

clase IndexController< ApplicationController
índice de definición
@usuarios = Usuario.buscar(:todos)
final
final

Ahora abra la vista Views/index/index.html.erb y escriba el siguiente código allí:

índice#índice


Encuéntrame en app/views/index/index.html.erb


<% for user in @users -%>
<%=user.name%>

<% end %>

Al hacer esto, le estamos diciendo a Rails que itere a través de la matriz de usuarios y muestre sus nombres. Actualice la página y vea la lista de usuarios a continuación.

índice#índice

Encuéntrame en app/views/index/index.html.erb

andrey
Vasily

¡Multa! ¡Aplicación creada!

¡Gracias!

Si este artículo te ayudó, o si quieres apoyar mi investigación y mi blog, esta es la mejor manera de hacerlo:

Hoy encontré en Internet una historia sobre cómo alguien, James Fend, aprendió Ruby on Rails durante 12 semanas. A continuación, puede leer una traducción relativamente precisa de esta historia y, con suerte, inspirarse para aprender este gran marco (y hermoso lenguaje).

Antes de comenzar, me gustaría presentar a Josh Crews (http://joshcrews.com) y agradecerle por alentarme a comenzar a aprender Ruby on Rails; sin él, sin su ayuda y sin las horas que pasó siendo mi mentor, no estaría escribiendo esto hoy. Gracias.

El 23 de enero, lancé la idea de mis sueños, Freelancify.com. Hace exactamente 12 semanas, era un emprendedor tecnológico que gastaba miles de dólares para crear un MVP (Producto Mínimo Viable) decente porque carecía del conocimiento. Una de las razones (como pensé en ese momento) fue que el entrenamiento era demasiado difícil para mí o me llevaría demasiado tiempo. Pensé (como muchos otros) que los programadores (y algunos lo hacen) nacen con un conjunto de habilidades mágicas en resolución de problemas y matemáticas que los convierten en genios de la programación. Y hace exactamente 12 semanas Yo acepté la mejor solucion durante mucho, mucho tiempo. Ninguna de mis ideas quedará en nada más que una idea. Ahora tengo la oportunidad de ejecutar versiones de producción, gastando dinero solo en hospedaje y esforzándome un poco. Hoy en día, este conjunto de habilidades es como conducir un montón de tractores durante la fiebre del oro de California mientras todos los demás usan palas simples. Sugiero que todos aprendan a escribir código.. Aquí me gustaría agregar una aclaración: anteriormente, titulé la publicación “Cómo aprendí Rails en 8 semanas”, sin embargo, para ser precisos, dada la fecha de lanzamiento, resulta ser 12 semanas. Sin embargo, después de 8 semanas sentí que sabía lo suficiente, y las siguientes cuatro semanas las dediqué más a poner en práctica lo que había aprendido que a aprender.

¿Qué habilidades tenía antes de empezar a aprender Rails?

Fui diseñador web con conocimientos de HTML y CSS y me centré principalmente en el diseño de UI y UX. Lo más difícil que he hecho con el código real (aparte del HTML) es poder personalizar Wordpress. En una palabra, no tenía ni idea de qué era un marco MVC, ni cómo funcionan las bases de datos en general. El diseño, el diseño y el HTML para Freelancify fueron creados por mí en dos semanas en junio de 2011.

¿Por qué decidí estudiar?

En junio de 2011, cuando el diseño estuvo listo, comencé a buscar un codificador para que funcionara. El diseño estaba casi listo: tenía campos de texto, menús desplegables, formularios, botones, enlaces que llevaban al lugar correcto, etc. Encontré un desarrollador y, en pocas palabras, el tipo no me convenía. Me quedé con un montón de deudas y ni siquiera cerca de completar un producto. Así que me puse en contacto con Josh Crius (lo conocí en una reunión de Ruby on Rails que organizó en Nashville) y me reuní con él para ver si podía hacer algo con lo que me quedaba de desarrollador. . Desafortunadamente, arreglar y finalizar el código no llevaría menos tiempo que desarrollarlo desde cero por un programador competente. Me desanimé al darme cuenta de que no podía permitirme gastar miles de dólares en desarrollo desde cero nuevamente. Y luego Josh dijo... ¿Por qué no aprendes a manejar Ruby on Rails? Este proyecto sería una gran manera" y luego " Incluso puedo reunirme contigo dos veces por semana y ayudarte con tus estudios.". Pasé toda la noche pensando. Mis opciones eran: encontrar un trabajo cómodo y pagar las cuentas O Arriesgarlo todo para aprender Rails y terminar comiendo el mejor ramen de Italia. Decidí. Llamé a Josh a la mañana siguiente. pongo todo. Saqué el dinero de mis ahorros restantes y lo dividí en tres meses (para un hombre soltero que vive solo y sin hijos, mil dólares al mes es suficiente). Es hora de ir a trabajar, ahora soy un aprendiz de tiempo completo. Tenga en cuenta: la búsqueda de Google, Stackoverflow, IRC #RubyOnRails y la comunidad de Rails me respaldarán cuando me quede atascado, estoy seguro de que serán suficientes.

Mis próximos tres meses - Misión: obtenga un MVP, obtenga lo suficiente para trabajar, pero no "apesta lo suficiente" para dejar una primera impresión terrible.

Semanas 1 - 3

Quizás fue la curva de aprendizaje más difícil, pero NO me rendí.

Los muros están hechos para personas que realmente no quieren dejarlos.

Configurar un escritorio Rails para un novato completo puede ser increíblemente molesto. Consejo #1: Obtenga una Mac. Consejo n.° 2: use Homebrew, RVM, Git y Heroku (eso es realmente todo lo que necesita para comenzar). Pasé un par de días instalando, luego desinstalé todo y volví a instalar. Basta con repetir varias veces, y te acostumbrarás a usar línea de comando terminal (consola) y entender por qué las cosas funcionan de la forma en que lo hacen. Luego, lo primero que hice fue TryRuby, Rails for Zombies y Rails Tutorial de Michael Hartle. No se preocupe por el 120% de comprensión del material, no sucederá hasta que comience a aprender realmente. Terminé el tutorial de Rails y construí esta aplicación similar a Twitter en aproximadamente una semana sin entender realmente lo que hacía. Más tarde, a medida que avanzaba, comencé a darme cuenta de que todo comenzaba a tener sentido.

Semanas 3 - 6

Con la aplicación de Twitter creada con Rails Tutorial, gané algo de confianza. El tutorial no me convirtió en desarrollador, pero ahora sé los pasos generales para crear una aplicación, desde crear la aplicación hasta instalarla en Heroku. Todo lo que estaba mientras tanto seguía siendo un borrón. ¿Cómo puedo REALMENTE empezar a aprender ahora? Trabajando en un proyecto real que significa algo para mí. Josh y yo decidimos que debería trabajar libremente en Freelancify y ver qué podía hacer. Lo primero que hice fue tomar todo el HTML del marco y organizarlo en vistas y archivos parciales. Creé plataformas de plantilla (scaffolded) para Usuarios (Usuarios) y Proyectos (Proyectos). Luego comencé a aprender acerca de mi primera joya real, Devise. Luego, la capacidad de tener relaciones, por ejemplo cada Usuario tendrá una cartera. Pero los usuarios pueden tener múltiples carteras, mientras que cada cartera puede pertenecer a un solo usuario. Una vez que comprenda cómo funcionan las relaciones entre modelos y cómo llamar/mostrar cosas que pertenecen a otra persona, la vida se vuelve mucho más fácil. Si está atascado en alguna parte y no puede moverse, sáltelo, lo más probable es que mientras desarrolla otra función, también entienda cómo implementar lo que se perdió.

Semanas 6 - 9

Paso a paso, continué aprendiendo copiando y repitiendo. Podía hacer que algunas cosas funcionaran, y luego, bam, me quedé atrapado en una pared y no tenía ni idea de qué hacer a continuación. Al ir a Stackoverflow, al chat IRC de #RubyOnRails, a RailsCasts o a tirar de Josh, finalmente descubrí cómo proceder. Haz lo mismo una y otra vez y aprenderás bastante rápido. Pasar horas molestas probando la respuesta de Stackoverflow de alguien solo para descubrir que no funciona es realmente útil. Entiendes lo que no debes hacer. Y cuando encuentres la respuesta, comenzarás a entender POR QUÉ el ultimo no funciono Alrededor de este tiempo, comencé a darme cuenta de cuán grande es la imagen de las cosas y a comprender realmente POR QUÉ todo funciona exactamente como funciona. Me sentí como un idiota y volví y refactoricé el código que escribí antes para hacerlo más eficiente. Y en algún momento llegué a un punto en el que todo empezó a encajar.

Semanas 9 - 12

He estado en un frenesí de buen humor mientras construía Freelancify en la fase de lanzamiento. En esta etapa, sentí que estaba sanando, dando vida a las funciones. La última semana se ha dedicado a depurar varios errores y fallas. Este lunes inauguré el sitio. Pero todavía estoy lejos de completar mi formación... Eso es todo. He omitido (en nombre de la brevedad) pequeños detalles y puntos técnicos. Sin embargo, siéntase libre de hacer preguntas en los comentarios, definitivamente intentaré responder. James Fend.

PD - Aunque me ayudó mucho la ayuda de un mentor que pude conocer, definitivamente puedes aprender Rails sin él. O intente encontrar uno para usted, a muchos desarrolladores de Rails les encanta contribuir con la comunidad. Busque conferencias y reuniones locales.

Esta entrada tiene más de dos años (publicada el 27 de enero de 2012), pero, sin embargo, no ha perdido relevancia. Durante este tiempo, James Fend logró vender Freelancify e invertir en una nueva empresa, escribió sobre esto el 27 de febrero de 2013. Creo que este artículo es un gran ejemplo de cómo una persona puede alcanzar su objetivo. Lo suficiente para empezar. :)

decirles a los amigos