Bienvenidas al taller de Rails Girls Bogotá 2017

Agenda

21 de octubre

    8:00 - 9:00         Registro

    9:00 - 9:30         Bienvenida

  9:30 - 10:05         Introducción a HTML y CSS

10:10 - 10:40         Break

10:45 - 11:50         Introducción a Ruby

11:50 - 12:50         Ejecicios de Ruby

13:00 - 14:00         Almuerzo

14:05 - 15:05         Introducción a Rails

15:10 - 15:30         Data base

15:30 - 16:00         Break

16:05 - 16:35         TDD - RSpec

16:40 - 17:10         Modelos

17:05 - 17:30         Finalización

Pedro Piza

Jefferson Garzón

María Velandía

Melissa Ramirez

Milena Suarez

Stella Miranda

Nathaly Villamor

Diana Yermanos

Patrocinadores

¿Qué es Rails?

http://rubyonrails.org.es/

Filosofía de Rails

1. Don't repeat yourself

2. Convention over configuration

Estructura de carpetas

¿Qué es una Gema?

bundle_path

Son "librerías"

Gemfile...

source 'https://rubygems.org'

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end

gem 'rails', '~> 5.1.3'
gem 'sqlite3'
gem 'puma', '~> 3.7'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
group :development, :test do
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'capybara', '~> 2.13'
  gem 'selenium-webdriver'
end

group :development do
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

Migraciones..

Creemos la BD..

#rails db:create

Created database 'db/development.sqlite3'
Created database 'db/test.sqlite3'
#rails g migration create_todos

Running via Spring preloader in process 18267
      invoke  active_record
      create    db/migrate/20170804021306_create_todos.rb

Agregando la tabla..

Lo que genera Rails

class CreateTodos < ActiveRecord::Migration[5.1]
  def change
    create_table :todos do |t|
    end
  end
end
class CreateTodos < ActiveRecord::Migration[5.1]
  def change
    create_table :todos do |t|
      t.string :description, null: false
      t.datetime :date, null: false
      t.string :status, null: false

      t.timestamps
    end
  end
end

db/schema..

Correr migraciones..

# rails db:migrate
== 20170804021306 CreateTodos: migrating ======================================
-- create_table(:todos)
   -> 0.0012s
== 20170804021306 CreateTodos: migrated (0.0022s) =============================
ActiveRecord::Schema.define(version: 20170804021306) do

  create_table "todos", force: :cascade do |t|
    t.string "description", null: false
    t.datetime "date", null: false
    t.string "status", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

end

Modelos

Rutas / routes

INDEX

SHOW

NEW

CREATE

EDIT

UPDATE

DELETE

Rutas / routes

Rutas / routes

USERS

HOLI_TODO

...

...

Rutas / routes

HOLI_TODO/INDEX

https://railsgirlssummerofcode.org/

Rails Girls Summer of code

  • Trabajarás en un proyecto OPEN SOURCE durante 3 meses seguidos (julio - septiembre)
  • Inscripciones en Abril 2018
  • ¡Van a pagarte por aprender!
  • Debes haber participado en comunidades de desarrollo como RailsGirls
  • Inglés

¡¡Gracias!!

Rails Girls workshop

By Nathaly Villamor

Rails Girls workshop

  • 265