Precisa de um freelancer, códigos-fonte e exemplos completos?
Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 58
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> Ruby On Rails
Sua primeira aplicação web usando Ruby On Rails
1 - Introdução

Ruby On Rails usa o padrão MVC (Model-View-Controller), ou seja, você só conseguirá ser realmente produtivo em Ruby On Rails se souber com antecedência como este padrão funciona. Clique aqui se precisar refrescar sua memória.

Em Ruby On Rails, as camadas do MVC funcionam de maneira integrada. Diferente do que acontece com tecnologias relacionadas à Java (onde precisamos combinar Hibernate, Struts e Tiles para obter MVC completo, em Ruby On Rails não precisamos nos preocupar com mais nada.

Em Ruby On Rails, como acontece em outros frameworks, o Controller é responsável por ligar o Model (banco de dados, regras de negócio, processos, etc) à View (interface do usuário).

O Controller é o único componente do MVC obrigatório em Ruby On Rails. Sendo assim, este artigo mostrará a você como tirar proveito disso para começar a entender como este framework funciona. Em artigos futuros mostrarei como combinar Controller e View.

2 - Criando a aplicação web

Comece criando a aplicação web (caso tenha dificuldades consulte o artigo Instalando Ruby On Rails no Windows. Uma boa sugestão de diretório é:

c:\ruby_on_rails

Abra uma janela do Prompt de Comando e navegue até este diretório:

cd c:\ruby_on_rails

Vamos criar uma aplicação chamada "exemplo". Para isso você deve disparar o seguinte comando:

rails exemplo

Aguarde alguns segundos e a aplicação web será criada. Para visualizá-la no navegador dispare o comando:

cd exemplo

Em seguida dispare:

ruby script\server

Aguarde alguns segundos até que o servidor seja iniciado. Pronto! Basta abrir seu navegador e acessar o endereço:

http://127.0.0.1:3000/

Se a aplicação web puder ser visualizada corretamente nós já podemos passar para a próxima etapa.

3 - Criando um Controller


Antes de criarmos nosso primeiro controller, abra o diretório principal da aplicação web e dê uma olhada no diretório app. É nele que o Rails guarda os arquivos com os quais estaremos trabalhando a maior parte do tempo:
  • O subdiretório controllers é onde o Rails procura as classes controllers. Um controller gerencia uma requisição web feita pelo usuário.
  • O subdiretório views é onde ficam guardados os templates que serão preenchidos com dados, convertidos em HTML e enviados ao navegador.
  • O subdiretório models guarda as classes que modelam e encapsulam os dados armazenados no banco de dados da aplicação.
  • O subdiretório helpers guarda as classes auxiliares.
Vamos criar nosso Controller? Abra uma janela do Prompt de Comando, navegue até o diretório "exemplo" e dispare o comando:

ruby script\generate controller Teste

Aguarde alguns segundos e vá ao diretório app\controllers. Você encontrará um arquivo chamado teste_controller.rb. Abra este arquivo com seu editor favorito e terá:

class TesteController < ApplicationController
end


Veja que temos uma classe chamada TesteController (o Rails adiciona "Controller" no nome que passamos inicialmente) que herda de ApplicationController. Por enquanto paramos aqui. Abra seu navegador e vá em:

http://127.0.0.1:3000/Teste

O resultado será semelhante ao mostrado na figura abaixo:


Isso aconteceu porque o endereço http://127.0.0.1:3000/Teste mapeou corretamente para o Controller que criamos, mas, não existe nenhuma ação, ou seja, nenhum método chamado index. Vamos resolver isso agora. Abra o arquivo teste_controller.rb e altere seu conteúdo para:

class TesteController < ApplicationController
  def index
    render :text => "<h1>Ei, funciona mesmo!</h1>"
  end
end


Aponte seu navegador novamente para:

http://127.0.0.1:3000/Teste ou http://127.0.0.1:3000/Teste/index

Agora o resultado será:


Veja que temos uma classe TesteController que é uma subclasse de ApplicationController. Nosso controller possui um método index, que é chamado de Action. Um controller possui vários métodos úteis. Aqui nós usamos o método render para enviar conteúdo ao navegador.

Vamos finalizar o estudo adicionando mais uma action ao nosso controller. Veja a nova versão:

class TesteController < ApplicationController
  def index
    render :text => "<h1>Ei, funciona mesmo!</h1>"
  end

  def estudos
    redirect_to "http://www.recomende.com/arquivo"
  end
end


Experimente acessar a seguinte URL e observe o resultado:

http://127.0.0.1:3000/Teste/estudos

4 - Conclusão

Aqui encerramos nosso estudo sobre controllers no framework Ruby On Rails. É claro que a aplicação que escrevemos não tem muita utilidade. Porém, o entendimento perfeito desta parte o deixará mais preparado para os futuros artigos. Caso tenha dificuldades ou queira simplesmente discutir Ruby On Rails com a gente, use o nosso Fórum de Discussões.
 
 
Arquivo de Códigos - Página Inicial
Veja dicas, truques e anotações de Java Servlets
Obtendo o valor do item selecionado em um menu de lista (select)
O que é um Java Servlet?
Como receber e processar uma matriz (array) de check boxes
Como usar o método sendRedirect() da interface HttpServletResponse para redirecionar o navegador para uma URL absoluta ou externa
Obtendo o valor do radio button selecionado
Como verificar se uma requisição a um servlet foi feita usando GET, POST, HEAD, etc
Entendendo a interface Servlet do pacote javax.servlet
Redirecionando o navegador para uma URL absoluta usando os métodos setStatus() e setHeader() da interface HttpServletResponse
Como implementar MVC usando Servlets, JSP, JavaBeans e a interface RequestDispatcher
Qual a diferença entre os métodos forward() da interface RequestDispatcher e o método sendRedirect() da interface HttpServletResponse?
Veja dicas, truques e anotações de outras linguagens
C# (CSharp) - Como minimizar um formulário ao clicar em um botão
Ruby On Rails - Minha versão do Rails não suporta mais os métodos start_form_tag e end_form_tag. E agora?
VB.NET - Como baixar um arquivo da Internet e salvá-lo em um diretório de sua escolha
Ruby - Como remover e retornar o último elemento de um array
PHP - Exibir a data completa no formato curto
VB.NET - Obtendo o código ASCII ou Unicode para um determinado caractere
PHP - Entendendo o tipo de dados array do PHP
Python - Aprenda a usar a instrução break em Python
JavaFX - Como maximizar uma janela Frame ao clicar em um botão
Python - Como pesquisar uma substring em uma string usando a função find

       

http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site