Slide 1

Slide 1 text

welcome to Ruby on Rails

Slide 2

Slide 2 text

Olar :)

Slide 3

Slide 3 text

Elaine Naomi Watanabe Full-stack Developer (Plataformatec) Mestre em Ciência da Computação (USP) github.com/elainenaomi @elaine_nw

Slide 4

Slide 4 text

Por que Rails?

Slide 5

Slide 5 text

David Heinemeier Hansson

Slide 6

Slide 6 text

David Heinemeier Hansson

Slide 7

Slide 7 text

DHH

Slide 8

Slide 8 text

Framework extraído de uma aplicação real

Slide 9

Slide 9 text

Convenção sobre configuração DRY (Don't repeat yourself)

Slide 10

Slide 10 text

Objetivo:

Slide 11

Slide 11 text

Objetivo: Simplificar a vida

Slide 12

Slide 12 text

Por onde começar?

Slide 13

Slide 13 text

MVC

Slide 14

Slide 14 text

View Model Controller apresentação intermediador dados + lógica de negócio

Slide 15

Slide 15 text

Vamos ver isso no Rails

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

URL localhost:3000/notes resposta esperada

Slide 18

Slide 18 text

URL localhost:3000/notes GET /notes http

Slide 19

Slide 19 text

get '/notes', to: 'notes#index' config/routes.rb GET /notes

Slide 20

Slide 20 text

controllers/notes_controller.rb get '/notes', to: 'notes#index' class NotesController < ApplicationController def index @notes = Note.all end end

Slide 21

Slide 21 text

controllers/notes_controller.rb get '/notes', to: 'notes#index' class NotesController < ApplicationController def index @notes = Note.all end end

Slide 22

Slide 22 text

controllers/notes_controller.rb get '/notes', to: 'notes#index' class NotesController < ApplicationController def index @notes = Note.all end end

Slide 23

Slide 23 text

class Note < ApplicationRecord end models/note.rb

Slide 24

Slide 24 text

create_table :notes do |t| t.string :content t.timestamps end banco de dados*

Slide 25

Slide 25 text

class Note < ApplicationRecord end models/note.rb

Slide 26

Slide 26 text

class NotesController < ApplicationController def index @notes = Note.all end end

Slide 27

Slide 27 text

    <% @notes.each do |note| %>
  • <%= note.content %>
  • <% end %>
views/notes/index.html.erb

Slide 28

Slide 28 text

class NotesController < ApplicationController def index @notes = Note.all end end

Slide 29

Slide 29 text

URL localhost:3000 navegador ● Nota 1 ● Nota 2 ● Nota 3

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

CRUD on Rails

Slide 32

Slide 32 text

HTTP methods GET READ POST CREATE PUT /PATCH UPDATE DELETE DESTROY

Slide 33

Slide 33 text

resource: Notes /notes GET /notes/1 GET /notes/new GET /notes/1/edit GET POST PUT/ PATCH DELETE #index #show #new #edit #create #update #destroy

Slide 34

Slide 34 text

E na prática, como é criar uma app?

Slide 35

Slide 35 text

github.com/elainenaomi/hello-rails

Slide 36

Slide 36 text

Quer saber mais?

Slide 37

Slide 37 text

Documentação do Rails http://guides.rubyonrails.org/ Ruby on Rails: coloque sua aplicação web nos trilhos Vinícius Baggio Fuentes Cucumber e RSpec: Construa aplicações Ruby com testes e especificações Hugo Baraúna Tutoriais em português do RailsGirls http://guides.railsgirls.com/guides-ptbr/ Guidelines da Plataformatec http://guidelines.plataformatec.com.br/