Anatomia de uma aplicação Rails

Já criamos nossa aplicação. Vamos conhecer um pouco da sua estrutura.

Para chegar aqui você já deve ter criado sua primeira aplicação em Rails. Vamos entender um pouco mais a anatomia dessa aplicação.

Já sabemos que o Terminal é nosso principal companheiro nessa jornada, então vamos listar todos arquivos na raiz da aplicação:

cd ~/workspace/done
ls -la

Arquivos

Nosso objetivo agora é conhecer de forma simples e direta o que representam estas pastas e arquivos. Então vamos pular alguns itens por enquanto, ok?

app

Esta é a principal pasta de nossa aplicação. Nela, temos as pastas assets, controllers, helpers, mailers, models e views. Por enquanto, não vamos tratar de helpers nem mailers.

assets

Arquivos CSS, JavaScript e imagens devem ser colocados na pasta assets para tirarmos vantagem de vários recursos que o Rails oferece como compactação e cache.

controllers, models e views

Ou Models, Views e Controllers :)

Essas pastas servem para organizar boa parte do código Ruby e HTML que iremos escrever.

Vamos falar muito sobre esses três, mas para você já começar a se ambientar, vamos exemplificar dentro da nossa aplicação de controle de tarefas:

  • Tarefa é a entidade que vamos abordar em nosso projeto. Seu código estará na pasta models.
  • Para os usuários visualizarem dados das tarefas, criaremos páginas HTML dentro da pasta views.
  • Por último, precisaremos receber comandos do browser do usuário e executar ações em nossas tarefas. Para isso criaremos Controllers na pasta controllers.

config

Aqui vão arquivos de configuração e código necessário para inicializar nossa aplicação.

Nesta pasta temos o arquivo routes.rb. Ele define as rotas da nossa aplicação e vamos editá-lo em breve.

Gemfile

Se você teve problemas para inicializar a aplicação no Magic Resource anterior já conheceu o Gemfile.

Resumindo, oele declara todas as Gems necessárias para o funcionamento da aplicação. Sempre que precisarmos adicionar uma nova Gem, vamos precisar dele :)

test

Não existe software sem bugs. Para evitar problemas e garantir um bom design do nosso projeto, vamos recorrer a testes que serão armazenados aqui.

É isso! Esperamos que agora você já se sinta mais confortável ao navegar por um projeto Rails.

Faça login para comentar.

Entrar

5 Comentários

Lucas Grünheidt

Lucas Grünheidt há aproximadamente 2 meses

Gente, eu aceite o convite pro desafio do Rails, mas não está aparecendo pra mim. Ainda não foi colocado no site?


Lucas Grünheidt

Lucas Grünheidt há aproximadamente 2 meses

Já resolvi.


AlanPereiraCodes

AlanPereiraCodes há quase 2 anos

Boa introdução sobre a estrutura da aplicação!


samurodrigo

samurodrigo há mais de 2 anos

Só um detalhe, a pasta test na verdade está como spec no git


samurodrigo

samurodrigo há mais de 2 anos

Foi mal, vi no projeto errado...


praganavictor

praganavictor há quase 3 anos

Esse overview me ajudou mt a entender a estrutura do rails


Jorge Gilberto

Jorge Gilberto há quase 4 anos

Boa explicação da estrutura !!!! ;-)