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.
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:
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
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:
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.
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 asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.