SlideShare uma empresa Scribd logo
www.cjr.org.br@CJR_UnBRuby on Rails
Curso – Ruby on RailsTópicosIntrodução ao RubyEstruturas da LinguagemIntrodução ao RailsEstruturas do FrameworkExercício PráticoInstalaçãoCRUDAssociaçõesBanco de Dados
Curso – Ruby on Rails
Curso – Ruby on RailsLinguagem de programação criada em 1993 por YukihiroMatzOpen SourceTipagem dinâmicaLinguagem de alto nívelhttp://www.ruby-lang.org/
Curso – Ruby on RailsTotalmente Orientada a objetosTudo é objetoO número 5 é um objeto da classe FixnumNão existem tipos básicos (int, char)Linguagem de script dinâmica e interpretadaPerde um pouco em performance
Curso – Ruby on RailsNão é necessário declarar variáveisVariáveis não “tipadas”Sintaxe simplesGarbageCollector (Gestão de memória automática)IRB – Interactive Ruby Shell
Curso – Ruby on RailsOrientação a objetos
Curso – Ruby on Rails
Curso – Ruby on Rails
Curso – Ruby on RailsQuer aprender mais?http://www.ruby-lang.org/http://groups.google.com/group/rubyonrails-talkhttp://groups.google.com/group/rails-brhttp://www.google.com/Apostila Caelum
Curso – Ruby on RailsO que é Ruby on Rails?
Curso – Ruby on RailsFramework MVC ( Model-View-Controller) para desenvolvimento WebDesenvolvido em Linguagem Rubyhttp://guias.rubyonrails.pro.br/http://rubyonrails.org/
Curso – Ruby on RailsCriado em 2004 por David HeinemeirConceitosDRY (Don’t Repeat Yourself)Convention over ConfigurationExemplo: Bloghttp://media.rubyonrails.org/video/rails_take2_with_sound.movHistórico
Curso – Ruby on RailsO rails é um framework composto por 5 outros frameworks:Active Record (Model)Active Pack (ActionController e ActionView)ActionMailerActiveSupportActiveResource
Curso – Ruby on RailsO rails é uma RubyGemGem é um código ruby empacotado ( similar a um plugin)
Curso – Ruby on RailsMãos à obra
Curso – Ruby on RailsQual 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 AmizadesInterface amigávelAssociações entre EntidadesO Foco
Curso – Ruby on RailsRubyLinux: sudoapt-get install rubyMac OS X: sudoport install rubyWindows: One-Click-Installerhttp://www.ruby-lang.org/pt/downloads/Testando:>ruby –v ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mingw32]>gem –v1.3.7> irb –virb 0.9.5 (05/04/13)Instalação
Curso – Ruby on RailsInstalaçãoRailsNo terminal: gem install rails –v 2.3.5MySQLhttp://dev.mysql.com/downloads/  ou Xampp, Lampp, Wampp....MySQL-Ruby Driver
Curso – Ruby on RailsPara 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 RailsAbra o terminal-d mysql Indica qual o SGDB iremos utilizarCriando o Projeto
Curso – Ruby on RailsAbra o arquivo “database.yml” que está na pasta blog/configEdite as configurações do seu SGBD:
Curso – Ruby on RailsAgora vamos mandar o rails criar o banco de dadosRake é uma ferramenta de construção (build), similar a um make.
Curso – Ruby on RailsVamos criar agora o modelo para nossa entidade Post.Model: Post
Curso – Ruby on RailsModel: Postpost.rb20110415025628_create_posts.rb
Curso – Ruby on RailsController: PostAgora vamos criar o Controller e alguns Actions ( métodos )
Curso – Ruby on RailsController: Post
Curso – Ruby on RailsView: PostVamos 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 RailsView: PostCrie 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 RailsView: PostVamos agora criar alguns posts no Console:No terminal, na pasta raiz do projeto, digite:
Curso – Ruby on RailsFormulario para PostsObviamente 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 postsVamos fazer como no twitter, e colocar uma caixa de texto em cima dos posts
Curso – Ruby on RailsFormulario para PostsEntã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 RailsFormulario para PostsAgora temos que modificar o index.html.erb de Posts para mostrar esse partial no topo da página
Curso – Ruby on RailsRoutesPara isso tudo funcionar temos que fazer algumas alterações no arquivo routes.rbEsse é 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 RailsRoutesAbra o arquivo routes.rb que está na pasta blog/configAdicione a linha “map.resources :posts”Este comando cria rotas nomeadas para postsExemplo: no controller usamos “posts_path”, este comando só é habilitado por causa da linha abaixo
Curso – Ruby on RailsIniciar ServidorVá a pasta raiz do projeto e execute o comando:
Curso – Ruby on RailsBrowserAbra o browser e digite: http://localhost:3000/posts
Curso – Ruby on Rails
Curso – Ruby on RailsAjaxO Ajax nos permite fazer requisições assíncronas ao servidor utilizando JavaScript.Vamos então utilizar ajax para enviar um post de forma dinâmicaQuando clicarmos no botão “enviar” queremos adicionar o novo post sem recarregar a página.
Curso – Ruby on RailsAjaxPara 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 RailsAjax
Curso – Ruby on RailsAjaxAgora vamos criar um arquivo de layoutCrie um arquivo “posts.html.erb” na pasta views/layout com o seguinte código:
Curso – Ruby on RailsAjaxA 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/postsAdicionamos 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 RailsAjaxAgora 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 RailsAjaxVamos 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 RailsAjax (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 RailsAjax
Curso – Ruby on RailsCSS
Curso – Ruby on RailsCSSVamos 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 RailsCSSAgora 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 RailsCSS
Curso – Ruby on RailsRootVamos 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 RailsAutenticação de Usuário
Curso – Ruby on RailsAutenticação de UsuárioVamos 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 RailsAutenticação de UsuárioAgora que temos a gem instalada, vamos executar os comandos para gerar os arquivos de autenticação:
Curso – Ruby on RailsAutenticação de UsuárioO 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 RailsAutenticação de UsuárioAgora vamos criar algumas funcionalidades para a autenticação.Vamos criar um partial onde o usuario pode logar e se cadastrarCrie um arquivo chamado “_login.html.erb” na views/posts com o código:
Curso – Ruby on RailsAutenticação de UsuárioAgora 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 RailsAutenticação de UsuárioOutra 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 RailsAutenticação de UsuárioTemos acesso a esses métodos (funções) pois a gem criou o “authentication.rb” na pasta blog/lib
Curso – Ruby on RailsAutenticação de UsuárioAo 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 RailsAutenticação de Usuário
Curso – Ruby on RailsAutenticação de Usuário
Curso – Ruby on RailsAutenticação de UsuárioAgora vamos testar
Curso – Ruby on RailsAutenticação de Usuário
Curso – Ruby on RailsAutenticação de Usuário
Curso – Ruby on RailsAmizade
Curso – Ruby on RailsAmizadeAgora vamos passar para a última parte da aplicação.Temos que fazer uma relação de amizade entre os usuáriosPara 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 RailsAmizadeTambém precisaremos de um controller para criar e excluir amizades
Curso – Ruby on RailsAmizadeAgora adicionamos o seguinte código no controller:
Curso – Ruby on RailsAmizadeAgora temos que definir esse auto-relacionamento.Para isso temos que adicionar as seguintes linhas nos nossos models
Curso – Ruby on RailsAmizadeAgora 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 RailsAmizadeE também um “show.html.erb” na pasta de users
Curso – Ruby on RailsAmizadeAgora vamos adicionar as seguintes actions no controller de usuários:
Curso – Ruby on RailsAmizadeVamos agora adicionar a nova entidade no routes.rbE também vamos adicionar dois links no “index.html.erb” de posts
Curso – Ruby on RailsAmizadeVamos 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 RailsAmizadeVamos adicionar a seguinte linha no “_post.html.erb” para informar quem foi o autor do post
Curso – Ruby on RailsAmizadeAgora 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 viewVamos então fazer a seguinte modificação no controller
Curso – Ruby on RailsAmizade
Curso – Ruby on RailsPróton!Agora vamos testar!Crie uns usuários e faça alguns posts para testar
Curso – Ruby on RailsPróton!
Curso – Ruby on RailsPróton!
Curso – Ruby on RailsRubyonRailsQuer aprender mais?http://akitaonrails.com/http://guias.rubyonrails.pro.br/http://railscasts.com/http://groups.google.com/group/rubyonrails-talkhttp://groups.google.com/group/rails-br

Mais conteúdo relacionado

Mais procurados

jQuery
jQueryjQuery
jQuery
Bruno Cunha
 
APIs do Jeito Certo
APIs do Jeito CertoAPIs do Jeito Certo
APIs do Jeito Certo
Ravan 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 UFBA
Luciano Borges
 
Aula Ruby
Aula RubyAula Ruby
Introducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com RailsIntroducao ao desenvolvimento web com Rails
Introducao ao desenvolvimento web com Rails
Katon 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 MVC
Michael Douglas
 
Evitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel HomesteadEvitando a fadiga com Laravel Homestead
Evitando a fadiga com Laravel Homestead
Danilo 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 UVA
Thiago 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 1
Thyago 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 4
Thyago 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.1
Thyago 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
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
Paulo César M Jeveaux
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
Glaucio Scheibel
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
targinosilveira
 
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
Thyago Maia
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
Alan Oliveira
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
Daniel Brandão
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
elliando dias
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
ledsifes
 

Mais procurados (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
 

Destaque

Ruby aula01
Ruby aula01Ruby aula01
Express 4
Express 4Express 4
Express 4
Beto Muniz
 
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
David Ruiz
 
Ruby on rails porque usar rails?!
Ruby on rails   porque usar rails?!Ruby on rails   porque usar rails?!
Ruby on rails porque usar rails?!
João Carlos Ottobboni
 
Segurança em Rails
Segurança em RailsSegurança em Rails
Segurança em Rails
Juan 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 Rails
Dante 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 web
Miguel Galves
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71
Lindomar ...
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
Agence Educacional
 
Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On Rails
Milton Moura
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
Andre 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/01
Douglas Roeder
 
Mini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoMini-curso RoR - Apresentação
Mini-curso RoR - Apresentação
Agence 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 Rails
Julio 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 Rails
ismaelstahelin
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014
Marcelo Bohn
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
Marcos Thomaz
 
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
Lucas 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 Ruby
Diego Rubin
 

Destaque (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
 

Semelhante a Curso de Ruby on Rails

Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
Sergio Henrique
 
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
Valdir Junior
 
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
Régis Eduardo Weizenmann Gregol
 
Oficial
OficialOficial
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
Reinaldo 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.JS
Rodrigo Urubatan
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
armeniocardoso
 
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
WakeUpSystems
 
Dando os primeiros passos com rails
Dando os primeiros passos com railsDando os primeiros passos com rails
Dando os primeiros passos com rails
Marcos 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-pt
Pedro Sousa
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
Amanda 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 PHP
Arlindo Santos
 
Rails 03
Rails 03Rails 03
Rails 03
guest7ff4e2
 
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
GuilhermePetrosky
 
Programação asp
Programação aspProgramaçã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
Giovanny Valente
 
Node JS - Parte 2
Node JS - Parte 2Node JS - Parte 2
Node JS - Parte 2
Bruno Catão
 
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 Dojo
fabioginzel
 
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
Rodrigo Recio
 

Semelhante a 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
 

Mais de CJR, UnB

XP Programming
XP ProgrammingXP Programming
XP Programming
CJR, 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 Relacionadas
CJR, UnB
 
Apresentação Age 2.0
Apresentação Age 2.0Apresentação Age 2.0
Apresentação Age 2.0
CJR, UnB
 
Treinamento para Eventos - DIREX
Treinamento para Eventos - DIREXTreinamento para Eventos - DIREX
Treinamento para Eventos - DIREX
CJR, UnB
 
Treinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJRTreinamento sobre Eventos - CJR
Treinamento sobre Eventos - CJR
CJR, 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ásico
CJR, UnB
 
CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10CJR Apresenta: OWASP TOP10
CJR Apresenta: OWASP TOP10
CJR, UnB
 

Mais de 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
 

Último

UFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdfUFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdf
Manuais Formação
 
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdfAPRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
portaladministradores
 
Marinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdfMarinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdf
Falcão Brasil
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
principeandregalli
 
Uma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da TerraUma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da Terra
Luiz C. da Silva
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
Mary Alvarenga
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
LuizHenriquedeAlmeid6
 
P0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdfP0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdf
Ceiça Martins Vital
 
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdfEscola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Falcão Brasil
 
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsxQue Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
Luzia Gabriele
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
Marcelo Botura
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
Falcão Brasil
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Falcão Brasil
 
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LEDPlano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
luggio9854
 
Fotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosasFotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosas
MariaJooSilva58
 
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
Manuais Formação
 
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdfAviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Falcão Brasil
 
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptxAdministração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
helenawaya9
 
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdfO Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
Falcão Brasil
 

Último (20)

UFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdfUFCD_5673_Segurança nos transportes_índice.pdf
UFCD_5673_Segurança nos transportes_índice.pdf
 
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdfAPRESENTAÇÃO  CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
APRESENTAÇÃO CURSO FORMAÇÃO EXPERT EM MODERAÇÃO DE FOCUS GROUP.pdf
 
Marinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdfMarinha do Brasil (MB) Politíca Naval.pdf
Marinha do Brasil (MB) Politíca Naval.pdf
 
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
Guia Genealógico da Principesca e Ducal Casa de Mesolcina, 2024
 
VIAGEM AO PASSADO -
VIAGEM AO PASSADO                        -VIAGEM AO PASSADO                        -
VIAGEM AO PASSADO -
 
Uma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da TerraUma Breve História da Origem, Formação e Evolução da Terra
Uma Breve História da Origem, Formação e Evolução da Terra
 
Caça-palavras - multiplicação
Caça-palavras  -  multiplicaçãoCaça-palavras  -  multiplicação
Caça-palavras - multiplicação
 
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptxSlides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
Slides Lição 3, Betel, A relevância da Igreja no cumprimento de sua Missão.pptx
 
P0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdfP0107 do aluno da educação municipal.pdf
P0107 do aluno da educação municipal.pdf
 
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdfEscola Preparatória de Cadetes do Ar (EPCAR).pdf
Escola Preparatória de Cadetes do Ar (EPCAR).pdf
 
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsxQue Pena Amor! Eugénio de Sá - Soneto.ppsx
Que Pena Amor! Eugénio de Sá - Soneto.ppsx
 
O que é o programa nacional de alimentação escolar (PNAE)?
O que é  o programa nacional de alimentação escolar (PNAE)?O que é  o programa nacional de alimentação escolar (PNAE)?
O que é o programa nacional de alimentação escolar (PNAE)?
 
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
A Participação do Brasil nas Operações de Manutenção da Paz da ONU Passado, P...
 
Os Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdfOs Setores Estratégicos da END - O Setor Cibernético.pdf
Os Setores Estratégicos da END - O Setor Cibernético.pdf
 
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LEDPlano_Aula_01_Introdução_com_Circuito_Piscar_LED
Plano_Aula_01_Introdução_com_Circuito_Piscar_LED
 
Fotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosasFotossíntese e respiração: conceitos e trocas gasosas
Fotossíntese e respiração: conceitos e trocas gasosas
 
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
UFCD_7224_Prevenção de acidentes em contexto domiciliário e institucional_índ...
 
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdfAviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
Aviação de Asas Rotativas. Aos Rotores, o Sabre!.pdf
 
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptxAdministração Em Enfermagem.pptx caala - Cópia-1.pptx
Administração Em Enfermagem.pptx caala - Cópia-1.pptx
 
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdfO Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
O Ministério da Defesa e a Sociedade no Tema de Defesa Nacional.pdf
 

Curso de Ruby on Rails

  • 2. Curso – Ruby on RailsTópicosIntrodução ao RubyEstruturas da LinguagemIntrodução ao RailsEstruturas do FrameworkExercício PráticoInstalaçãoCRUDAssociaçõesBanco de Dados
  • 3. Curso – Ruby on Rails
  • 4. Curso – Ruby on RailsLinguagem de programação criada em 1993 por YukihiroMatzOpen SourceTipagem dinâmicaLinguagem de alto nívelhttp://www.ruby-lang.org/
  • 5. Curso – Ruby on RailsTotalmente Orientada a objetosTudo é objetoO número 5 é um objeto da classe FixnumNão existem tipos básicos (int, char)Linguagem de script dinâmica e interpretadaPerde um pouco em performance
  • 6. Curso – Ruby on RailsNão é necessário declarar variáveisVariáveis não “tipadas”Sintaxe simplesGarbageCollector (Gestão de memória automática)IRB – Interactive Ruby Shell
  • 7. Curso – Ruby on RailsOrientação a objetos
  • 8. Curso – Ruby on Rails
  • 9. Curso – Ruby on Rails
  • 10. Curso – Ruby on RailsQuer aprender mais?http://www.ruby-lang.org/http://groups.google.com/group/rubyonrails-talkhttp://groups.google.com/group/rails-brhttp://www.google.com/Apostila Caelum
  • 11. Curso – Ruby on RailsO que é Ruby on Rails?
  • 12. Curso – Ruby on RailsFramework MVC ( Model-View-Controller) para desenvolvimento WebDesenvolvido em Linguagem Rubyhttp://guias.rubyonrails.pro.br/http://rubyonrails.org/
  • 13. Curso – Ruby on RailsCriado em 2004 por David HeinemeirConceitosDRY (Don’t Repeat Yourself)Convention over ConfigurationExemplo: Bloghttp://media.rubyonrails.org/video/rails_take2_with_sound.movHistórico
  • 14. Curso – Ruby on RailsO rails é um framework composto por 5 outros frameworks:Active Record (Model)Active Pack (ActionController e ActionView)ActionMailerActiveSupportActiveResource
  • 15. Curso – Ruby on RailsO rails é uma RubyGemGem é um código ruby empacotado ( similar a um plugin)
  • 16. Curso – Ruby on RailsMãos à obra
  • 17. Curso – Ruby on RailsQual 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 AmizadesInterface amigávelAssociações entre EntidadesO Foco
  • 18. Curso – Ruby on RailsRubyLinux: sudoapt-get install rubyMac OS X: sudoport install rubyWindows: One-Click-Installerhttp://www.ruby-lang.org/pt/downloads/Testando:>ruby –v ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mingw32]>gem –v1.3.7> irb –virb 0.9.5 (05/04/13)Instalação
  • 19. Curso – Ruby on RailsInstalaçãoRailsNo terminal: gem install rails –v 2.3.5MySQLhttp://dev.mysql.com/downloads/ ou Xampp, Lampp, Wampp....MySQL-Ruby Driver
  • 20. Curso – Ruby on RailsPara 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 RailsAbra o terminal-d mysql Indica qual o SGDB iremos utilizarCriando o Projeto
  • 22. Curso – Ruby on RailsAbra o arquivo “database.yml” que está na pasta blog/configEdite as configurações do seu SGBD:
  • 23. Curso – Ruby on RailsAgora vamos mandar o rails criar o banco de dadosRake é uma ferramenta de construção (build), similar a um make.
  • 24. Curso – Ruby on RailsVamos criar agora o modelo para nossa entidade Post.Model: Post
  • 25. Curso – Ruby on RailsModel: Postpost.rb20110415025628_create_posts.rb
  • 26. Curso – Ruby on RailsController: PostAgora vamos criar o Controller e alguns Actions ( métodos )
  • 27. Curso – Ruby on RailsController: Post
  • 28. Curso – Ruby on RailsView: PostVamos 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 RailsView: PostCrie 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 RailsView: PostVamos agora criar alguns posts no Console:No terminal, na pasta raiz do projeto, digite:
  • 31. Curso – Ruby on RailsFormulario para PostsObviamente 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 postsVamos fazer como no twitter, e colocar uma caixa de texto em cima dos posts
  • 32. Curso – Ruby on RailsFormulario para PostsEntã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 RailsFormulario para PostsAgora temos que modificar o index.html.erb de Posts para mostrar esse partial no topo da página
  • 34. Curso – Ruby on RailsRoutesPara isso tudo funcionar temos que fazer algumas alterações no arquivo routes.rbEsse é 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 RailsRoutesAbra o arquivo routes.rb que está na pasta blog/configAdicione a linha “map.resources :posts”Este comando cria rotas nomeadas para postsExemplo: no controller usamos “posts_path”, este comando só é habilitado por causa da linha abaixo
  • 36. Curso – Ruby on RailsIniciar ServidorVá a pasta raiz do projeto e execute o comando:
  • 37. Curso – Ruby on RailsBrowserAbra o browser e digite: http://localhost:3000/posts
  • 38. Curso – Ruby on Rails
  • 39. Curso – Ruby on RailsAjaxO Ajax nos permite fazer requisições assíncronas ao servidor utilizando JavaScript.Vamos então utilizar ajax para enviar um post de forma dinâmicaQuando clicarmos no botão “enviar” queremos adicionar o novo post sem recarregar a página.
  • 40. Curso – Ruby on RailsAjaxPara 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 RailsAjax
  • 42. Curso – Ruby on RailsAjaxAgora vamos criar um arquivo de layoutCrie um arquivo “posts.html.erb” na pasta views/layout com o seguinte código:
  • 43. Curso – Ruby on RailsAjaxA 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/postsAdicionamos 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 RailsAjaxAgora 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 RailsAjaxVamos 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 RailsAjax (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 RailsAjax
  • 48. Curso – Ruby on RailsCSS
  • 49. Curso – Ruby on RailsCSSVamos 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 RailsCSSAgora 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 RailsCSS
  • 52. Curso – Ruby on RailsRootVamos 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 RailsAutenticação de Usuário
  • 54. Curso – Ruby on RailsAutenticação de UsuárioVamos 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 RailsAutenticação de UsuárioAgora que temos a gem instalada, vamos executar os comandos para gerar os arquivos de autenticação:
  • 56. Curso – Ruby on RailsAutenticação de UsuárioO 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 RailsAutenticação de UsuárioAgora vamos criar algumas funcionalidades para a autenticação.Vamos criar um partial onde o usuario pode logar e se cadastrarCrie um arquivo chamado “_login.html.erb” na views/posts com o código:
  • 58. Curso – Ruby on RailsAutenticação de UsuárioAgora 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 RailsAutenticação de UsuárioOutra 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 RailsAutenticação de UsuárioTemos acesso a esses métodos (funções) pois a gem criou o “authentication.rb” na pasta blog/lib
  • 61. Curso – Ruby on RailsAutenticação de UsuárioAo 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 RailsAutenticação de Usuário
  • 63. Curso – Ruby on RailsAutenticação de Usuário
  • 64. Curso – Ruby on RailsAutenticação de UsuárioAgora vamos testar
  • 65. Curso – Ruby on RailsAutenticação de Usuário
  • 66. Curso – Ruby on RailsAutenticação de Usuário
  • 67. Curso – Ruby on RailsAmizade
  • 68. Curso – Ruby on RailsAmizadeAgora vamos passar para a última parte da aplicação.Temos que fazer uma relação de amizade entre os usuáriosPara 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 RailsAmizadeTambém precisaremos de um controller para criar e excluir amizades
  • 70. Curso – Ruby on RailsAmizadeAgora adicionamos o seguinte código no controller:
  • 71. Curso – Ruby on RailsAmizadeAgora temos que definir esse auto-relacionamento.Para isso temos que adicionar as seguintes linhas nos nossos models
  • 72. Curso – Ruby on RailsAmizadeAgora 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 RailsAmizadeE também um “show.html.erb” na pasta de users
  • 74. Curso – Ruby on RailsAmizadeAgora vamos adicionar as seguintes actions no controller de usuários:
  • 75. Curso – Ruby on RailsAmizadeVamos agora adicionar a nova entidade no routes.rbE também vamos adicionar dois links no “index.html.erb” de posts
  • 76. Curso – Ruby on RailsAmizadeVamos 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 RailsAmizadeVamos adicionar a seguinte linha no “_post.html.erb” para informar quem foi o autor do post
  • 78. Curso – Ruby on RailsAmizadeAgora 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 viewVamos então fazer a seguinte modificação no controller
  • 79. Curso – Ruby on RailsAmizade
  • 80. Curso – Ruby on RailsPróton!Agora vamos testar!Crie uns usuários e faça alguns posts para testar
  • 81. Curso – Ruby on RailsPróton!
  • 82. Curso – Ruby on RailsPróton!
  • 83. Curso – Ruby on RailsRubyonRailsQuer aprender mais?http://akitaonrails.com/http://guias.rubyonrails.pro.br/http://railscasts.com/http://groups.google.com/group/rubyonrails-talkhttp://groups.google.com/group/rails-br