SlideShare a Scribd company logo
1 of 83
www.cjr.org.br @CJR_UnB Ruby on Rails
Curso – Ruby on Rails Tópicos Introdução ao Ruby Estruturas da Linguagem Introdução ao Rails Estruturas do Framework Exercício Prático Instalação CRUD Associações Banco de Dados
Curso – Ruby on Rails
Curso – Ruby on Rails Linguagem de programação criada em 1993 por YukihiroMatz Open Source Tipagem dinâmica Linguagem de alto nível http://www.ruby-lang.org/
Curso – Ruby on Rails Totalmente Orientada a objetos Tudo é objeto O número 5 é um objeto da classe Fixnum Não existem tipos básicos (int, char) Linguagem de script dinâmica e interpretada Perde um pouco em performance
Curso – Ruby on Rails Não é necessário declarar variáveis Variáveis não “tipadas” Sintaxe simples GarbageCollector (Gestão de memória automática) IRB – Interactive Ruby Shell
Curso – Ruby on Rails Orientação a objetos
Curso – Ruby on Rails
Curso – Ruby on Rails
Curso – Ruby on Rails Quer aprender mais? http://www.ruby-lang.org/ http://groups.google.com/group/rubyonrails-talk http://groups.google.com/group/rails-br http://www.google.com/ Apostila Caelum
Curso – Ruby on Rails O que é Ruby on Rails?
Curso – Ruby on Rails Framework MVC ( Model-View-Controller) para desenvolvimento Web Desenvolvido em Linguagem Ruby http://guias.rubyonrails.pro.br/ http://rubyonrails.org/
Curso – Ruby on Rails Criado em 2004 por David Heinemeir Conceitos DRY (Don’t Repeat Yourself) Convention over Configuration Exemplo: Blog http://media.rubyonrails.org/video/rails_take2_with_sound.mov Histórico
Curso – Ruby on Rails O rails é um framework composto por 5 outros frameworks: Active Record (Model) Active Pack (ActionController e ActionView) ActionMailer ActiveSupport ActiveResource
Curso – Ruby on Rails O rails é uma RubyGem Gem é um código ruby empacotado ( similar a um plugin)
Curso – Ruby on Rails Mãos à obra
Curso – Ruby on Rails Qual a idéia: Desenvolver uma aplicação parecida com um blog: Conexão com o Banco de Dados (Mysql) CRUD’s de Usuários, Posts e Amizades Interface amigável Associações entre Entidades O Foco
Curso – Ruby on Rails Ruby Linux: sudoapt-get install ruby Mac OS X: sudoport install ruby Windows: One-Click-Installer http://www.ruby-lang.org/pt/downloads/ Testando: >ruby –v  ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mingw32] >gem –v 1.3.7 > irb –v irb 0.9.5 (05/04/13) Instalação
Curso – Ruby on Rails Instalação Rails No terminal:  gem install rails –v 2.3.5 MySQL http://dev.mysql.com/downloads/  ou  Xampp, Lampp, Wampp.... MySQL-Ruby Driver
Curso – Ruby on Rails Para não complicar muito o curso não iremos utilizar nenhuma IDE, somente o prompt de comando ( terminal ) e um editor de texto. IDE’s para Rails: AptanaRadRails, RubyMine, TextMate(Mac) IDE
Curso – Ruby on Rails Abra o terminal -d mysql Indica qual o SGDB iremos utilizar Criando o Projeto
Curso – Ruby on Rails Abra o arquivo “database.yml” que está na pasta blog/config Edite as configurações do seu SGBD:
Curso – Ruby on Rails Agora vamos mandar o rails criar o banco de dados Rake é uma ferramenta de construção (build), similar a um make.
Curso – Ruby on Rails Vamos criar agora o modelo para nossa entidade Post. Model: Post
Curso – Ruby on Rails Model: Post post.rb20110415025628_create_posts.rb
Curso – Ruby on Rails Controller: Post Agora vamos criar o Controller e alguns Actions ( métodos )
Curso – Ruby on Rails Controller: Post
Curso – Ruby on Rails View: Post Vamos criar os arquivos da view para Posts. Inicialmente vamos criar um Partial, que nada mais é do que um pedaço de código que inserimos em outro arquivo. Dessa forma podemos chamar aquele código diversas vezes sem repeti-lo ( Don’tRepeatYourself)
Curso – Ruby on Rails View: Post Crie um arquivo chamado “_post.html.erb” na pasta views/posts com o código: Agora criamos a view “index.html.erb” na pasta view/posts com o código:
Curso – Ruby on Rails View: Post Vamos agora criar alguns posts no Console: No terminal, na pasta raiz do projeto, digite:
Curso – Ruby on Rails Formulario para Posts Obviamente o usuário da aplicação não irá utilizar o console para criar novos posts. Portanto temos que criar uma funcionalidade para que o usuário faça novos posts Vamos fazer como no twitter, e colocar uma caixa de texto em cima dos posts
Curso – Ruby on Rails Formulario para Posts Então vamos criar um partial para este form de um novo post. Crie o arquivo “_novo_post.html.erb” na pasta views/posts com o código:
Curso – Ruby on Rails Formulario para Posts Agora temos que modificar o index.html.erb de Posts para mostrar esse partial no topo da página
Curso – Ruby on Rails Routes Para isso tudo funcionar temos que fazer algumas alterações no arquivo routes.rb Esse é o arquivo que controle todas as rotas dentro da nossa aplicação rails. É o que controla o fluxo de uma página para outra, ou seja,  controla como a url será interpretada pelo rails.
Curso – Ruby on Rails Routes Abra o arquivo routes.rb que está na pasta blog/config Adicione a linha “map.resources :posts” Este comando cria rotas nomeadas para posts Exemplo: no controller usamos “posts_path”, este comando só é habilitado por causa da linha abaixo
Curso – Ruby on Rails Iniciar Servidor Vá a pasta raiz do projeto e execute o comando:
Curso – Ruby on Rails Browser Abra o browser e digite: http://localhost:3000/posts
Curso – Ruby on Rails
Curso – Ruby on Rails Ajax O Ajax nos permite fazer requisições assíncronas ao servidor utilizando JavaScript. Vamos então utilizar ajax para enviar um post de forma dinâmica Quando clicarmos no botão “enviar” queremos adicionar o novo post sem recarregar a página.
Curso – Ruby on Rails Ajax Para isso devemos editar o actioncreate do controller de posts (posts_controller.rb na pasta app/controllers) Vamos adicionar a linha “format.js” Isso fará com que a actioncreate possa responder através de um arquivo javascript.
Curso – Ruby on Rails Ajax
Curso – Ruby on Rails Ajax Agora vamos criar um arquivo de layout Crie um arquivo “posts.html.erb” na pasta views/layout com o seguinte código:
Curso – Ruby on Rails Ajax A idéia principal de criar esse layout, além de adicionar o código html corretamente ( html, body...) é chamar as bibliotecas javascript referentes ao Ajax. Agora precisamos fazer uma alteração no arquivo “index.html.erb” localizado na pasta views/posts Adicionamos simplesmente uma div por fora da renderização do partial. Isso será util mais tarde para informamos ao Ajax, onde ele irá inserir o novo post.
Curso – Ruby on Rails Ajax Agora vamos adicionar um bloco “div_for” no partial “_post.html.erb” (views/posts). Isso só fará com que ele crie uma nova div para cada vez que aquele código for chamado.
Curso – Ruby on Rails Ajax Vamos editar agora o partial “_novo_post.html.erb” e modificar  a tag para “form_remote_tag” Isso irá indicar para o rails que esse formulário deverá fazer uma requisição via ajax e não uma requisição normal.
Curso – Ruby on Rails Ajax (Quase lá) Agora, por fim, vamos criar um templaterjs. É esse arquivo que a action “create” irá renderizar. Crie um arquivo “create.js.rjs” na pasta views/posts com o seguinte código: A primeira linha é um comando para inserir no “topo” da div “posts” o conteúdo do partial “_post.html.erb(@posts)” A segunda linha é um comando para dar um efeito visual após a inserção do código html
Curso – Ruby on Rails Ajax
Curso – Ruby on Rails CSS
Curso – Ruby on Rails CSS Vamos agora deixar a nossa aplicação um pouco mais apresentável. Crie um arquivo chamado layout.css na pasta public/stylesheets com o seguinte código:
Curso – Ruby on Rails CSS Agora temos que fazer a chamada a esse arquivo de CSS no nosso arquivo de layout “posts.html.erb” que está na pasta views/layout
Curso – Ruby on Rails CSS
Curso – Ruby on Rails Root Vamos agora, deixar essa página que acabamos de criar como página inicial da aplicação. Para isso devemos deletar o arquivo index.html que está na pasta public e alterar  o arquivo routes.rb
Curso – Ruby on Rails Autenticação de Usuário
Curso – Ruby on Rails Autenticação de Usuário Vamos agora criar um sistema de autenticação com login e cadastro de usuários. Existem algumas gems prontas para essa funcionalidade.  Dentre elas, existe uma bem simples, Nifty-Generators, criada por Ryan Bates. Para instala-la iremos usar o comando no terminal:
Curso – Ruby on Rails Autenticação de Usuário Agora que temos a gem instalada, vamos executar os comandos para gerar os arquivos de autenticação:
Curso – Ruby on Rails Autenticação de Usuário O primeiro comando gera os arquivos essenciais  para de usuario e sessão. O segundo cria além de outras coisas, um arquivo de layout que é necessário para renderizar as views da autenticação. Agora vamos fazer um migration para atualizar o banco de dados
Curso – Ruby on Rails Autenticação de Usuário Agora vamos criar algumas funcionalidades para a autenticação. Vamos criar um partial onde o usuario pode logar e se cadastrar Crie um arquivo chamado “_login.html.erb” na views/posts com o código:
Curso – Ruby on Rails Autenticação de Usuário Agora vamos adicionar esse partial no layout de posts (“posts.html.erb”). Dessa forma esses links sempre aparecerão no topo da página.
Curso – Ruby on Rails Autenticação de Usuário Outra funcionalidade que queremos é que um usuário só possa postar mensagens se ele estiver logado. Então podemos fazer isso alterando o “_novo_post.hrml.erb”:
Curso – Ruby on Rails Autenticação de Usuário Temos acesso a esses métodos (funções) pois a gem criou o “authentication.rb” na pasta blog/lib
Curso – Ruby on Rails Autenticação de Usuário Ao gerarmos a autenticação com a gem ele criou as telas de cadastro de usuário e de login “new.html.erb” (views/users) e “new.html.erb” (views/sessions) Por padrão as telas vem com mensagens em inglês, então podemos altera-las:
Curso – Ruby on Rails Autenticação de Usuário
Curso – Ruby on Rails Autenticação de Usuário
Curso – Ruby on Rails Autenticação de Usuário Agora vamos testar
Curso – Ruby on Rails Autenticação de Usuário
Curso – Ruby on Rails Autenticação de Usuário
Curso – Ruby on Rails Amizade
Curso – Ruby on Rails Amizade Agora vamos passar para a última parte da aplicação. Temos que fazer uma relação de amizade entre os usuários Para isso temos que criar um auto-relacionamento entre o modelo de usuários. Ou seja, um usuário tem uma relação de amizade com um outro elemento da própria tabela de usuários, por isso nomeamos auto-relacionamento. Como temos essa relação de amizade, iremos criar um novo model chamado amizade com as duas chaves estrangeiras (user_id, amigo_id)
Curso – Ruby on Rails Amizade Também precisaremos de um controller para criar e excluir amizades
Curso – Ruby on Rails Amizade Agora adicionamos o seguinte código no controller:
Curso – Ruby on Rails Amizade Agora temos que definir esse auto-relacionamento. Para isso temos que adicionar as seguintes linhas nos nossos models
Curso – Ruby on Rails Amizade Agora vamos fazer uma tela para listar todas as amizades de um usuário e possibilita-lo de excluir ou adicionar novas amizades. Para isso vamos criar uma view “index.html.erb” na pasta views/users
Curso – Ruby on Rails Amizade E também um “show.html.erb” na pasta de users
Curso – Ruby on Rails Amizade Agora vamos adicionar as seguintes actions no controller de usuários:
Curso – Ruby on Rails Amizade Vamos agora adicionar a nova entidade no routes.rb E também vamos adicionar dois links no “index.html.erb” de posts
Curso – Ruby on Rails Amizade Vamos agora fazer algumas correções. Para não mostrar nenhum post e nem a opção de procurar amigos para quem não está logado, devemos colocar a seguinte condição no “index.html.erb” de posts
Curso – Ruby on Rails Amizade Vamos adicionar a seguinte linha no “_post.html.erb” para informar quem foi o autor do post
Curso – Ruby on Rails Amizade Agora temos mais uma ultima alteração a fazer. Devemos somente mostrar os posts feitos pelo próprio usuário ou por seus amigos, afinal um usuário não deseja ver um post de uma pessoa na qual ele não conhece. Então para fazer isso, devemos alterar o controller de posts e modificar o retorno que estamos mandando para a view Vamos então fazer a seguinte modificação no controller
Curso – Ruby on Rails Amizade
Curso – Ruby on Rails Próton! Agora vamos testar! Crie uns usuários e faça alguns posts para testar
Curso – Ruby on Rails Próton!
Curso – Ruby on Rails Próton!
Curso – Ruby on Rails RubyonRails Quer aprender mais? http://akitaonrails.com/ http://guias.rubyonrails.pro.br/ http://railscasts.com/ http://groups.google.com/group/rubyonrails-talk http://groups.google.com/group/rails-br

More Related Content

What's hot

APIs do Jeito Certo
APIs do Jeito CertoAPIs do Jeito Certo
APIs do Jeito CertoRavan Scafi
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBALuciano Borges
 
Introducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com RailsIntroducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com RailsKaton Agência Digital
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVCMichael Douglas
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadDanilo Esser
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Thyago Maia
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 4
Desenvolvimento de sistemas web com PHP Frameworks - Aula 4Desenvolvimento de sistemas web com PHP Frameworks - Aula 4
Desenvolvimento de sistemas web com PHP Frameworks - Aula 4Thyago Maia
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Thyago Maia
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )Michael Douglas
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Thyago Maia
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 

What's hot (20)

jQuery
jQueryjQuery
jQuery
 
APIs do Jeito Certo
APIs do Jeito CertoAPIs do Jeito Certo
APIs do Jeito Certo
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBA
 
Aula Ruby
Aula RubyAula Ruby
Aula Ruby
 
Introducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com RailsIntroducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com Rails
 
Laravel 5: Entenda o ambiente e a estrutura MVC
 Laravel 5: Entenda o ambiente e a estrutura MVC Laravel 5: Entenda o ambiente e a estrutura MVC
Laravel 5: Entenda o ambiente e a estrutura MVC
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel Homestead
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 4
Desenvolvimento de sistemas web com PHP Frameworks - Aula 4Desenvolvimento de sistemas web com PHP Frameworks - Aula 4
Desenvolvimento de sistemas web com PHP Frameworks - Aula 4
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 
A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 

Viewers also liked

Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?David Ruiz
 
Segurança em Rails
Segurança em RailsSegurança em Rails
Segurança em RailsJuan Maiz
 
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on RailsDante Regis
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webMiguel Galves
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Lindomar ...
 
Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On RailsMilton Moura
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Andre Bernardes
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Mini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoMini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoAgence Educacional
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsJulio Betta
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Marcelo Bohn
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsLucas Caton
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
Introdução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação RubyIntrodução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação RubyDiego Rubin
 

Viewers also liked (20)

Ruby aula01
Ruby aula01Ruby aula01
Ruby aula01
 
Express 4
Express 4Express 4
Express 4
 
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
 
Ruby on rails porque usar rails?!
Ruby on rails   porque usar rails?!Ruby on rails   porque usar rails?!
Ruby on rails porque usar rails?!
 
Segurança em Rails
Segurança em RailsSegurança em Rails
Segurança em Rails
 
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On Rails
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Mini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoMini-curso RoR - Apresentação
Mini-curso RoR - Apresentação
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on Rails
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Introdução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação RubyIntrodução a Linguagem de Programação Ruby
Introdução a Linguagem de Programação Ruby
 

Similar to Curso de Ruby on Rails

Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento webValdir Junior
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 
Minicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsMinicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsWakeUpSystems
 
Dando os primeiros passos com rails
Dando os primeiros passos com railsDando os primeiros passos com rails
Dando os primeiros passos com railsMarcos Sousa
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-ptPedro Sousa
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoGuilhermePetrosky
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRodrigo Recio
 

Similar to Curso de Ruby on Rails (20)

Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
 
Oficial
OficialOficial
Oficial
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Minicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsMinicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up Systems
 
Dando os primeiros passos com rails
Dando os primeiros passos com railsDando os primeiros passos com rails
Dando os primeiros passos com rails
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Rails 03
Rails 03Rails 03
Rails 03
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galo
 
Programação asp
Programação aspProgramação asp
Programação asp
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Node JS - Parte 2
Node JS - Parte 2Node JS - Parte 2
Node JS - Parte 2
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
 

More from CJR, UnB

XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
Apresentação Age 2.0
Apresentação Age 2.0Apresentação Age 2.0
Apresentação Age 2.0CJR, UnB
 
Treinamento para Eventos - DIREX
Treinamento para Eventos - DIREXTreinamento para Eventos - DIREX
Treinamento para Eventos - DIREXCJR, UnB
 
Treinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJRTreinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJRCJR, UnB
 
Por que ser um empresário júnior?
Por que ser um empresário júnior?Por que ser um empresário júnior?
Por que ser um empresário júnior?CJR, UnB
 
SVN Básico
SVN BásicoSVN Básico
SVN BásicoCJR, UnB
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR, UnB
 

More from CJR, UnB (8)

XP Programming
XP ProgrammingXP Programming
XP Programming
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
Apresentação Age 2.0
Apresentação Age 2.0Apresentação Age 2.0
Apresentação Age 2.0
 
Treinamento para Eventos - DIREX
Treinamento para Eventos - DIREXTreinamento para Eventos - DIREX
Treinamento para Eventos - DIREX
 
Treinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJRTreinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJR
 
Por que ser um empresário júnior?
Por que ser um empresário júnior?Por que ser um empresário júnior?
Por que ser um empresário júnior?
 
SVN Básico
SVN BásicoSVN Básico
SVN Básico
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10
 

Recently uploaded

Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioDomingasMariaRomao
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 

Recently uploaded (20)

Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 

Curso de Ruby on Rails

  • 2. Curso – Ruby on Rails Tópicos Introdução ao Ruby Estruturas da Linguagem Introdução ao Rails Estruturas do Framework Exercício Prático Instalação CRUD Associações Banco de Dados
  • 3. Curso – Ruby on Rails
  • 4. Curso – Ruby on Rails Linguagem de programação criada em 1993 por YukihiroMatz Open Source Tipagem dinâmica Linguagem de alto nível http://www.ruby-lang.org/
  • 5. Curso – Ruby on Rails Totalmente Orientada a objetos Tudo é objeto O número 5 é um objeto da classe Fixnum Não existem tipos básicos (int, char) Linguagem de script dinâmica e interpretada Perde um pouco em performance
  • 6. Curso – Ruby on Rails Não é necessário declarar variáveis Variáveis não “tipadas” Sintaxe simples GarbageCollector (Gestão de memória automática) IRB – Interactive Ruby Shell
  • 7. Curso – Ruby on Rails Orientação a objetos
  • 8. Curso – Ruby on Rails
  • 9. Curso – Ruby on Rails
  • 10. Curso – Ruby on Rails Quer aprender mais? http://www.ruby-lang.org/ http://groups.google.com/group/rubyonrails-talk http://groups.google.com/group/rails-br http://www.google.com/ Apostila Caelum
  • 11. Curso – Ruby on Rails O que é Ruby on Rails?
  • 12. Curso – Ruby on Rails Framework MVC ( Model-View-Controller) para desenvolvimento Web Desenvolvido em Linguagem Ruby http://guias.rubyonrails.pro.br/ http://rubyonrails.org/
  • 13. Curso – Ruby on Rails Criado em 2004 por David Heinemeir Conceitos DRY (Don’t Repeat Yourself) Convention over Configuration Exemplo: Blog http://media.rubyonrails.org/video/rails_take2_with_sound.mov Histórico
  • 14. Curso – Ruby on Rails O rails é um framework composto por 5 outros frameworks: Active Record (Model) Active Pack (ActionController e ActionView) ActionMailer ActiveSupport ActiveResource
  • 15. Curso – Ruby on Rails O rails é uma RubyGem Gem é um código ruby empacotado ( similar a um plugin)
  • 16. Curso – Ruby on Rails Mãos à obra
  • 17. Curso – Ruby on Rails Qual a idéia: Desenvolver uma aplicação parecida com um blog: Conexão com o Banco de Dados (Mysql) CRUD’s de Usuários, Posts e Amizades Interface amigável Associações entre Entidades O Foco
  • 18. Curso – Ruby on Rails Ruby Linux: sudoapt-get install ruby Mac OS X: sudoport install ruby Windows: One-Click-Installer http://www.ruby-lang.org/pt/downloads/ Testando: >ruby –v ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mingw32] >gem –v 1.3.7 > irb –v irb 0.9.5 (05/04/13) Instalação
  • 19. Curso – Ruby on Rails Instalação Rails No terminal: gem install rails –v 2.3.5 MySQL http://dev.mysql.com/downloads/ ou Xampp, Lampp, Wampp.... MySQL-Ruby Driver
  • 20. Curso – Ruby on Rails Para não complicar muito o curso não iremos utilizar nenhuma IDE, somente o prompt de comando ( terminal ) e um editor de texto. IDE’s para Rails: AptanaRadRails, RubyMine, TextMate(Mac) IDE
  • 21. Curso – Ruby on Rails Abra o terminal -d mysql Indica qual o SGDB iremos utilizar Criando o Projeto
  • 22. Curso – Ruby on Rails Abra o arquivo “database.yml” que está na pasta blog/config Edite as configurações do seu SGBD:
  • 23. Curso – Ruby on Rails Agora vamos mandar o rails criar o banco de dados Rake é uma ferramenta de construção (build), similar a um make.
  • 24. Curso – Ruby on Rails Vamos criar agora o modelo para nossa entidade Post. Model: Post
  • 25. Curso – Ruby on Rails Model: Post post.rb20110415025628_create_posts.rb
  • 26. Curso – Ruby on Rails Controller: Post Agora vamos criar o Controller e alguns Actions ( métodos )
  • 27. Curso – Ruby on Rails Controller: Post
  • 28. Curso – Ruby on Rails View: Post Vamos criar os arquivos da view para Posts. Inicialmente vamos criar um Partial, que nada mais é do que um pedaço de código que inserimos em outro arquivo. Dessa forma podemos chamar aquele código diversas vezes sem repeti-lo ( Don’tRepeatYourself)
  • 29. Curso – Ruby on Rails View: Post Crie um arquivo chamado “_post.html.erb” na pasta views/posts com o código: Agora criamos a view “index.html.erb” na pasta view/posts com o código:
  • 30. Curso – Ruby on Rails View: Post Vamos agora criar alguns posts no Console: No terminal, na pasta raiz do projeto, digite:
  • 31. Curso – Ruby on Rails Formulario para Posts Obviamente o usuário da aplicação não irá utilizar o console para criar novos posts. Portanto temos que criar uma funcionalidade para que o usuário faça novos posts Vamos fazer como no twitter, e colocar uma caixa de texto em cima dos posts
  • 32. Curso – Ruby on Rails Formulario para Posts Então vamos criar um partial para este form de um novo post. Crie o arquivo “_novo_post.html.erb” na pasta views/posts com o código:
  • 33. Curso – Ruby on Rails Formulario para Posts Agora temos que modificar o index.html.erb de Posts para mostrar esse partial no topo da página
  • 34. Curso – Ruby on Rails Routes Para isso tudo funcionar temos que fazer algumas alterações no arquivo routes.rb Esse é o arquivo que controle todas as rotas dentro da nossa aplicação rails. É o que controla o fluxo de uma página para outra, ou seja, controla como a url será interpretada pelo rails.
  • 35. Curso – Ruby on Rails Routes Abra o arquivo routes.rb que está na pasta blog/config Adicione a linha “map.resources :posts” Este comando cria rotas nomeadas para posts Exemplo: no controller usamos “posts_path”, este comando só é habilitado por causa da linha abaixo
  • 36. Curso – Ruby on Rails Iniciar Servidor Vá a pasta raiz do projeto e execute o comando:
  • 37. Curso – Ruby on Rails Browser Abra o browser e digite: http://localhost:3000/posts
  • 38. Curso – Ruby on Rails
  • 39. Curso – Ruby on Rails Ajax O Ajax nos permite fazer requisições assíncronas ao servidor utilizando JavaScript. Vamos então utilizar ajax para enviar um post de forma dinâmica Quando clicarmos no botão “enviar” queremos adicionar o novo post sem recarregar a página.
  • 40. Curso – Ruby on Rails Ajax Para isso devemos editar o actioncreate do controller de posts (posts_controller.rb na pasta app/controllers) Vamos adicionar a linha “format.js” Isso fará com que a actioncreate possa responder através de um arquivo javascript.
  • 41. Curso – Ruby on Rails Ajax
  • 42. Curso – Ruby on Rails Ajax Agora vamos criar um arquivo de layout Crie um arquivo “posts.html.erb” na pasta views/layout com o seguinte código:
  • 43. Curso – Ruby on Rails Ajax A idéia principal de criar esse layout, além de adicionar o código html corretamente ( html, body...) é chamar as bibliotecas javascript referentes ao Ajax. Agora precisamos fazer uma alteração no arquivo “index.html.erb” localizado na pasta views/posts Adicionamos simplesmente uma div por fora da renderização do partial. Isso será util mais tarde para informamos ao Ajax, onde ele irá inserir o novo post.
  • 44. Curso – Ruby on Rails Ajax Agora vamos adicionar um bloco “div_for” no partial “_post.html.erb” (views/posts). Isso só fará com que ele crie uma nova div para cada vez que aquele código for chamado.
  • 45. Curso – Ruby on Rails Ajax Vamos editar agora o partial “_novo_post.html.erb” e modificar a tag para “form_remote_tag” Isso irá indicar para o rails que esse formulário deverá fazer uma requisição via ajax e não uma requisição normal.
  • 46. Curso – Ruby on Rails Ajax (Quase lá) Agora, por fim, vamos criar um templaterjs. É esse arquivo que a action “create” irá renderizar. Crie um arquivo “create.js.rjs” na pasta views/posts com o seguinte código: A primeira linha é um comando para inserir no “topo” da div “posts” o conteúdo do partial “_post.html.erb(@posts)” A segunda linha é um comando para dar um efeito visual após a inserção do código html
  • 47. Curso – Ruby on Rails Ajax
  • 48. Curso – Ruby on Rails CSS
  • 49. Curso – Ruby on Rails CSS Vamos agora deixar a nossa aplicação um pouco mais apresentável. Crie um arquivo chamado layout.css na pasta public/stylesheets com o seguinte código:
  • 50. Curso – Ruby on Rails CSS Agora temos que fazer a chamada a esse arquivo de CSS no nosso arquivo de layout “posts.html.erb” que está na pasta views/layout
  • 51. Curso – Ruby on Rails CSS
  • 52. Curso – Ruby on Rails Root Vamos agora, deixar essa página que acabamos de criar como página inicial da aplicação. Para isso devemos deletar o arquivo index.html que está na pasta public e alterar o arquivo routes.rb
  • 53. Curso – Ruby on Rails Autenticação de Usuário
  • 54. Curso – Ruby on Rails Autenticação de Usuário Vamos agora criar um sistema de autenticação com login e cadastro de usuários. Existem algumas gems prontas para essa funcionalidade. Dentre elas, existe uma bem simples, Nifty-Generators, criada por Ryan Bates. Para instala-la iremos usar o comando no terminal:
  • 55. Curso – Ruby on Rails Autenticação de Usuário Agora que temos a gem instalada, vamos executar os comandos para gerar os arquivos de autenticação:
  • 56. Curso – Ruby on Rails Autenticação de Usuário O primeiro comando gera os arquivos essenciais para de usuario e sessão. O segundo cria além de outras coisas, um arquivo de layout que é necessário para renderizar as views da autenticação. Agora vamos fazer um migration para atualizar o banco de dados
  • 57. Curso – Ruby on Rails Autenticação de Usuário Agora vamos criar algumas funcionalidades para a autenticação. Vamos criar um partial onde o usuario pode logar e se cadastrar Crie um arquivo chamado “_login.html.erb” na views/posts com o código:
  • 58. Curso – Ruby on Rails Autenticação de Usuário Agora vamos adicionar esse partial no layout de posts (“posts.html.erb”). Dessa forma esses links sempre aparecerão no topo da página.
  • 59. Curso – Ruby on Rails Autenticação de Usuário Outra funcionalidade que queremos é que um usuário só possa postar mensagens se ele estiver logado. Então podemos fazer isso alterando o “_novo_post.hrml.erb”:
  • 60. Curso – Ruby on Rails Autenticação de Usuário Temos acesso a esses métodos (funções) pois a gem criou o “authentication.rb” na pasta blog/lib
  • 61. Curso – Ruby on Rails Autenticação de Usuário Ao gerarmos a autenticação com a gem ele criou as telas de cadastro de usuário e de login “new.html.erb” (views/users) e “new.html.erb” (views/sessions) Por padrão as telas vem com mensagens em inglês, então podemos altera-las:
  • 62. Curso – Ruby on Rails Autenticação de Usuário
  • 63. Curso – Ruby on Rails Autenticação de Usuário
  • 64. Curso – Ruby on Rails Autenticação de Usuário Agora vamos testar
  • 65. Curso – Ruby on Rails Autenticação de Usuário
  • 66. Curso – Ruby on Rails Autenticação de Usuário
  • 67. Curso – Ruby on Rails Amizade
  • 68. Curso – Ruby on Rails Amizade Agora vamos passar para a última parte da aplicação. Temos que fazer uma relação de amizade entre os usuários Para isso temos que criar um auto-relacionamento entre o modelo de usuários. Ou seja, um usuário tem uma relação de amizade com um outro elemento da própria tabela de usuários, por isso nomeamos auto-relacionamento. Como temos essa relação de amizade, iremos criar um novo model chamado amizade com as duas chaves estrangeiras (user_id, amigo_id)
  • 69. Curso – Ruby on Rails Amizade Também precisaremos de um controller para criar e excluir amizades
  • 70. Curso – Ruby on Rails Amizade Agora adicionamos o seguinte código no controller:
  • 71. Curso – Ruby on Rails Amizade Agora temos que definir esse auto-relacionamento. Para isso temos que adicionar as seguintes linhas nos nossos models
  • 72. Curso – Ruby on Rails Amizade Agora vamos fazer uma tela para listar todas as amizades de um usuário e possibilita-lo de excluir ou adicionar novas amizades. Para isso vamos criar uma view “index.html.erb” na pasta views/users
  • 73. Curso – Ruby on Rails Amizade E também um “show.html.erb” na pasta de users
  • 74. Curso – Ruby on Rails Amizade Agora vamos adicionar as seguintes actions no controller de usuários:
  • 75. Curso – Ruby on Rails Amizade Vamos agora adicionar a nova entidade no routes.rb E também vamos adicionar dois links no “index.html.erb” de posts
  • 76. Curso – Ruby on Rails Amizade Vamos agora fazer algumas correções. Para não mostrar nenhum post e nem a opção de procurar amigos para quem não está logado, devemos colocar a seguinte condição no “index.html.erb” de posts
  • 77. Curso – Ruby on Rails Amizade Vamos adicionar a seguinte linha no “_post.html.erb” para informar quem foi o autor do post
  • 78. Curso – Ruby on Rails Amizade Agora temos mais uma ultima alteração a fazer. Devemos somente mostrar os posts feitos pelo próprio usuário ou por seus amigos, afinal um usuário não deseja ver um post de uma pessoa na qual ele não conhece. Então para fazer isso, devemos alterar o controller de posts e modificar o retorno que estamos mandando para a view Vamos então fazer a seguinte modificação no controller
  • 79. Curso – Ruby on Rails Amizade
  • 80. Curso – Ruby on Rails Próton! Agora vamos testar! Crie uns usuários e faça alguns posts para testar
  • 81. Curso – Ruby on Rails Próton!
  • 82. Curso – Ruby on Rails Próton!
  • 83. Curso – Ruby on Rails RubyonRails Quer aprender mais? http://akitaonrails.com/ http://guias.rubyonrails.pro.br/ http://railscasts.com/ http://groups.google.com/group/rubyonrails-talk http://groups.google.com/group/rails-br