Tag Archives: projeto

Entendo a estrutura de diretórios do Rails

Bom já temos o MySQL e o Ruby on Rails na máquina, já sabemos também como criar um projeto Rails. Mas o que ele cria? Por que todas aquelas pastas? Precisa de tudo isso pra funcionar? Com esse post dou início aos estudos efetivos do Rails, particularmente estou começando ainda meus estudos com o Rails, comprei o meu segundo livro de Rails recentemente e este é mais detalhado, recomendo. O título é “Programando Rails A Bíblia” de Obie Fernandez, um experiente programador Java que acabou migrando pro Raisl logo quando o Rails estava surgindo.

Minha idéia é ir postando os conteúdos na medida que eu vou evoluindo nos estudo do Rails. Assim quem quizer aprender é só seguir os posts. Bom vamos ver se isso vai dar certo.

Mas vamos ao que interessa!

Bom, digitamos no Terminal o comando: rails NomeDoProjeto, e o resultado é

README
Rakefile
app/
config/
db/
doc/
lib/
log/
public/
script/
test/
tmp/
vendor/

É sobre essa organização de pastas que vamos falar hoje.

README – arquivo com instruções de uso;
Rakefile – script de construção;
app/ – Dentro dessa pasta estão os arquivos da estrutura MVC – (Model, View e Controller);
components/ – componentes reutilizáveis;
config/ – parâmetros de configurações tanto do projeto quanto do banco de dados;
db/ – Informações sobre o esquema e as migrations geradas para modificar o banco de dados;
doc/ – Documentação auto gerada, utilizando o Rdoc,
lib/ – Código compartilhado códigos que não podemos adicionar a uma um modelo, view ou controller, algo como um gerador de arquivos pdf.
log/ – documentos de log produzidos pelo seu aplicativo;
public/ – Diretório acessível pela Web. É a pasta onde o HTTP server utiliza pra rodar o seu aplicativo;
script/ – Scripts utilitários, onde estão os programas utilizados pelos desenvolvedores Rails, para entede-los você pode executalos sem nenhum argumento, você obterá informações sobre de uso;
test/ – Utilitários de testes, onde escrevemos os teste funcionais, testes de integração, fixtures e simulações;
tmp/ – Arquivos temporários utilizados e gerados em tempo de execução do seu aplicativo;
vendor/ – Código importado onde você irá por os seus plugins utilizados pela aplicação, código de terceiros.

As pastas app/ e test/ é onde fica quase toda a nossa aplicação, é onde mais iremos trabalhar!

Bom hoje é isso. Acho que com isso conseguimos ver com outros olhos toda a estrutura de pastas criada automaticamente pelo Rails. Nos próximos posts vou detalhar mais cada uma destas pastas falando dos seus arquivos internos.