Desafío Latam
 
  • Tutoriales
    • Rails
    • Javascript
    • Android
  • Motivación
  • Graduados
  • Ver Cursos
  • Eventos

DesafioLatam

Aprende a construir aplicaciones web en nuestros bootcamps presenciales.
Formularios Anidados
Formularios Anidados en Ruby on Rails
ActiveAdmin con Hstore

Activeadmin con Hstore

En el tutorial anterior vimos como utilizar los tipos de datos hstore de postgres para guardar directamente un hash, en este tutorial vamos a ver como configurar activeadmin para poder editar de forma sencilla los datos guardados en este campo.

Paso 1: Agregar la gema activeadmin hstore editor

El truco consiste en utilizar la gema activeadmin_hstore_editor
que técnicamente hace todo el trabajo, una vez agregada la gema al gemfile tenemos que correr bundle

 bundle 

Paso 2: Configurar el initializer para incluir los assets del editor

Ahora debemos agregar dentro del archivo config/initializers/active_admin.rb

config.register_stylesheet 'active_admin/hstore_editor.css'
config.register_javascript 'active_admin/hstore_editor.js'

Compartir

Compartir
Compartir
Tuitear
  • abril 14, 2015
  • 0
  • 2575
  • ActiveAdmin, Tutoriales
  • Ver más

Guardando arrays y hashs directamente en PostgreSQL con hstore

Hace un tiempo en un experimento estábamos construyendo un sitio web para hacer sitios web, la parte compleja de este sitio era que el usuario que creaba su página web quería poner formularios de registros a su antojo y no teníamos como saber cuantos datos y como iba a querer guardarlos. En particular las bases de datos SQL como MySQL y PostgreSQL sufren este problema, necesitas conocer la estructura de antemano para poder guardar datos, pero existe una solución y lo mejor de todo es que está incorporada nativamente dentro de Rails y Postgres y consiste en ocupar la extensión HStore.

Arreglos en PostgreSQL

Para un ejemplo básico vamos a crear un proyecto de Rails desde cero, vamos a crear un modelo FOO con el campo bar, eso si, es importante estar ocupando postgreSQL en lugar de sqlite

rails g model foo bar:text

Antes de hacer la migración vamos a revisar el archivo de migración generado y modificarlo para especificar que vamos a guardar un arreglo y que por defecto es un arreglo vacío.

 t.text :bar, array: true, default: [] 

Ahora podemos correr las migraciones con

 rake db:migrate 

y podemos entrar al rails console para crear un objeto foo y guardar un arreglo.

Compartir

Compartir
Compartir
Tuitear
  • abril 13, 2015
  • 1
  • 8768
  • Tutoriales
  • Ver más

Como hacer un scaffold después de instalar activeadmin

En este artículo te explicaré como evitar un problema que seguramente tendrás cuando quieres crear un scaffold después haber instalado la Gema «Active Admin».

Compartir

Compartir
Compartir
Tuitear
  • abril 2, 2015
  • 5
  • 4200
  • ActiveAdmin, Tutoriales
  • Ver más
GUARDAR TEXTOS EN VARIOS IDIOMAS EN RAILS

Guardar textos en varios idiomas en rails

Si leíste el tutorial I18n en Rails  podrás notar que hasta este punto, tu aplicación puede cambiar de idioma todos los enlaces, botones, etiquetas y  todos los elementos que definiste con <%= t(‘cualquier texto’) %>. Sin embargo, el contenido de tus tablas de la base datos, por ejemplo un modelo de posts no lo hará. Los artículos sólo se mostrarán en el idioma en que fueron escritos. ¿Cómo podemos almacenar traducciones de contenido generado por los usuarios? La forma más sencilla de hacerlo es mediante el uso de la gema Globalize.

Compartir

Compartir
Compartir
Tuitear
  • marzo 29, 2015
  • 1
  • 5440
  • Tutoriales
  • Ver más
atributos anidados en rails

Aceptar atributos anidados con ruby on rails

Un truco muy simple en ruby on rails 4 (también aplica a rails 3) que puede ahorrarnos mucho trabajo es la capacidad de guardar un objeto junto con sus objetos hijos simultáneamente en el mismo formulario, de esta forma podemos guardar una pregunta con sus respuestas, o un post con su categoría, simúltaneamente sin necesidad de llamados ajax adicionales, o sea únicamente utilizando los atributos anidados de Ruby on Rails.

Atributos anidados en el modelo

Para lograr esto necesitamos al menos dos modelos, el padre (father) y el hijo (child), donde un padre puede tener n hijos y el hijo tiene un padre.

#models/father.rb 
class Father < ActiveRecord::Base
  has_many :childs
  accepts_nested_attributes_for :childs
end
#models/child.rb
class Father < ActiveRecord::Base
 belongs_to :father
end

Compartir

Compartir
Compartir
Tuitear
  • marzo 24, 2015
  • 0
  • 4244
  • Tutoriales
  • Ver más
Testing automatizado con Guard

Testing automatizado con Guard en ruby on rails

Cuando uno trabaja con testing (que es como se debiera trabajar) estar corriendo constantemente los test puede ser una perdida de tiempo notable, por cada cambio en los test o en nuestro código tenemos que ir a la consola y correr rake (o spring rake).

Testing automatizado con Guard.

Es por eso que existen herramientas para testing automatizado como la gema guard, que monitorea de forma constante los cambios de archivos y que en conjunto con la gema guard-minitest corre los tests cuando hay cambios, de esta forma mientras escribes tu código sabes si lo estás haciendo correctamente o no.

¿Cómo instalar guard?

Esta guía para principiantes te enseñará como instalar y configurar guard y correr de forma automatizada los tests.

Bonus: la gema guard también es compatible con herramientas de testing como RSpec

Compartir

Compartir
Compartir
Tuitear
  • marzo 22, 2015
  • 0
  • 3227
  • Tutoriales
  • Ver más
rails deployment

Deployment automatizado en Rails con Capistrano

¿Qué es Capistrano?

Capistrano es una herramienta que nos permite automatizar nuestros deploy, o sea subir nuestro proyecto a un servidor y también nuestras actualizaciones.

Capistrano tiene tareas y herramientas que nos permiten:

  • precompilar assets
  • reiniciar el server
  • Migrar la base de datos
  • Además podemos agregarle tareas nuevas

Antes de empezar, necesitamos tener un servidor donde podamos hacer el deploy, en este tutorial puedes aprender a construir uno con Nginx, RVM y postgreSQL. Nginx lo configuraremos junto con Puma.

Otra detalle que necesitamos es un proyecto en Rails (el que vamos a subir) y una cuenta en bitbucket o github desde esté nuestro proyecto.

Paso 1: Instalando la gema Capistrano

Dentro de tu computador, en la carpeta del proyecto, agregaremos las gemas de capistrano.  Para eso abriremos el archivo gemfile y agregaremos las gemas.

Compartir

Compartir
Compartir
Tuitear
  • marzo 16, 2015
  • 5
  • 14243
  • Tutoriales
  • Ver más
Internacionalización en rails

I18n en Rails

I18n (o internacionalización) es una gema incluida dentro de Rails que nos permite traducir texto y formatos de fechas y números de forma automática en base a a la localización

Como configurar la localización dentro de nuestro proyecto

  • Podemos hacerlo a través del idioma por defecto del navegador
  • Utilizando un selector de idioma
  • y la mejor (SEO-friendly) es tener la localización en la url

La gema I18n tiene 2 métodos principales

Translate, el cual sirve para traducciones

localize que sirve para fechas, números, etc

Seteando la Localización por defecto

En el archivo application.rb vamos a setear la localización por defecto, para eso buscamos la línea que dice config.i18n.default_locale y la cambiamos por la de nuestra preferencia, si queremos que esté en español lo cambiamos por :es

config.i18n.default_locale = :es

otra opción para setear el locale por defecto es crear un archivo locale.rb dentro de config/initializers y poner

I18n.default_locale = :es

y el siguiente paso es reiniciar el servidor y ya tenemos funcionando nuestra internacionalización

Agregando traducciones Custom

dentro de config/locales/ Podemos agregar nuestras propios archivos de traducción, por ejemplo si ahora queremos agregar las traducciones al español de Devise, para no tener que escribir uno desde cero, podemos descargarlo desde:

Compartir

Compartir
Compartir
Tuitear
  • marzo 16, 2015
  • 2
  • 7987
  • Tutoriales
  • Ver más
Crear un servidor

Montando un servidor de rails en amazon, digital ocean o linode.

Motivación: Si hay scripts que automáticamente instalan rails con todo en linux es lógico preguntarse porque pasar por el suplicio de hacer una instalación custom, pero la razón es sencilla, en la mayoría de los casos el script que hace la instalación no utiliza el mismo stack que nosotros queremos, o instala aplicaciones demás que consumen mucha memoria ram.

En este tutorial montaremos un servidor rails con NginX, Puma y PostgreSQL en ubuntu 18.04

Esta guía no es complamente compatible con otros servidores u otras versiones de ubuntu

Paso 1: Actualización del server

Crear un server vacío con ubuntu 18.04

ssh al server con la ip dada

ssh [email protected]_del_server

Las acciones de esta parte suponen que el acceso a la máquina es de root, en caso contrario agrega sudo a las instrucciones hasta la sección hasta llegar a la instrucción donde nos conectamos como un usuario (al final del paso 2).

Dentro del servidor actualizamos los paquetes

apt-get update
apt-get upgrade

Luego reiniciamos la máquina.

reboot

y finalmente nos conectaremos de nuevo.

ssh [email protected]_del_server

Paso 2: Crear al usuario deploy dentro del server

Cuando instalas programas como root estos le pertenecen a root, lo que nos va a causar problemas de permisos, además es simplemente peligroso, uno nunca debería trabajar como root, en lugar de eso vamos a crear el usuario deploy.

Aclaración (El nombre deploy es un buen nombre para el usuario de deployment, pero no es necesario que sea este)

Compartir

Compartir
Compartir
Tuitear
  • marzo 12, 2015
  • 1
  • 47953
  • Infraestructura, Tutoriales
  • Ver más

¿Debe un diseñador saber programar?

La especialización en el diseño

Ser diseñador es una profesión que cada vez se especializa y segmenta más en el gusto que cada uno posea. Si bien cada uno puede optar por la versatilidad, los puestos laborales suelen solicitar tareas específicas en puestos determinados.

También dependerá de la formación: a veces no puedes optar por «saberlo todo», y claramente es lo más sensato para saber qué camino seguir y en qué quieres trabajar posteriormente.

Especializando en la programación

Que un diseñador sepa programar es algo que muchas personas suelen pensar, sobre todo clientes de desesperados por un diseño web. Bueno, que un diseñador sepa programar, no es una ley ni un deber, y tampoco lo hace mejor o peor: son cosas diferentes u equivocadamente mezcladas o confundidas en la vorágine tecnológica de hoy. Un programador es un programador, un diseñador ¡un diseñador! Pero atentos: pueden resultar ser un magnífico y perfecto complemento. Eso es lo que queremos aclarar aquí.

Tomemos ejemplos: hay un diseñador que es apasionado por el arte, los colores y la estética, mientras que otros se llevan bien con la creación de un diseño por medio de la codificación. Son, simplemente, habilidades diferente e igual de válidas.

Compartir

Compartir
Compartir
Tuitear
  • marzo 11, 2015
  • 0
  • 3347
  • Motivación
  • Ver más
Página 30 de 31« Primera«...1020...2728293031»

SUSCRÍBETE A NUESTRO NEWSLETTER

Jueves 9 de Junio

Lunes 6 de Junio

Jueves 30 de Mayo

Lunes 23 de Mayo

Etiquetas

activeadmin android API aplicación móvil APP Apple aprender ciberseguridad consejos desarrollo devise digital diseño diseño ux/ui educación emprendimiento eventos experiencia freelance front end fullstack Google hackathon Herramientas útiles Html Infraestructura inteligencia artifical Javascript lenguajes de programación Motivación mujeres oportunidades Optimización programación Rails Ruby Ruby on Rails tecnología testimonio Tips trabajos2020 trabajos programadores trabajos remoto Tutoriales webinar

Entradas recientes

  • 10 países con Visas de Nómade Digital 🤟
  • Síndrome del impostor y Mujeres en STEM
  • Pruebas técnicas ¿Cómo te evaluarán para ese cargo?
  • Destacar en LinkedIn para atraer reclutadores TI
  • 5 Repositorios de Github para encontrar trabajo

Comentarios recientes

  • Macarena Rojas en Diseñador, diseñadora y su rol político
  • Marisol - catalogo avon en Diseñador, diseñadora y su rol político
  • Marisol - catalogo leonisa en TOP: Aplicaciones más descargadas en esta Cuarentena
  • Macarena Rojas en Webinar: «¿Cómo iniciar en programación sin tener conocimientos previos?»
  • Adriana en Webinar: «¿Cómo iniciar en programación sin tener conocimientos previos?»

Categorías

ActiveAdmin Actualidad Android Conferencias Consejos Consejos para emprendedores Creación de Juegos curso programacion Data Science Desafíos Desarrollo web Devise Diseño Diseño Web Docente Educación Emprendimientos tecnológicos empresas Entrevista laboral Eventos freelance Front End Fullstack git Graduados Hackathones informáticos Javascript Marketing Digital Motivación Mujeres Oportuidades Oportunidades Profesionales TI Programación Rails Seguridad Informática tecnologia Tendencia Testimonios Tips Tutoriales Ui Uncategorized Ux
  • 62 famosos sitios hechos en Rails

    157821 views
  • trabajos remotos

    Top 32 sitios para encontrar trabajos remotos

    151170 views
  • Trabajo Freelance

    Trabajo Freelance: Top 15 sitios para encontrarlos

    143716 views

Desafio Latam Copyright 2017. All Rights Reserved