Ruby on Rails - Estrutura de Diretório
Quando você usa o script auxiliar Rails para criar seu aplicativo, ele cria toda a estrutura de diretório para o aplicativo. O Rails sabe onde encontrar as coisas de que precisa dentro desta estrutura, então você não precisa fornecer nenhuma entrada.
Aqui está uma visão de nível superior de uma árvore de diretório criada pelo script auxiliar no momento da criação do aplicativo. Exceto por pequenas mudanças entre os lançamentos, todos os projetos Rails terão a mesma estrutura, com as mesmas convenções de nomenclatura. Essa consistência oferece uma vantagem tremenda; você pode mover-se rapidamente entre projetos Rails sem reaprender a organização do projeto.
Para entender essa estrutura de diretório, vamos usar o demoaplicativo criado no capítulo Instalação. Ele pode ser criado usando um comando auxiliar simplesrails demo.
Agora, vá para o diretório raiz do aplicativo de demonstração da seguinte maneira -
tp> cd demo
demo> dir
Você encontrará uma estrutura de diretório no Windows da seguinte maneira -
Agora vamos explicar o propósito de cada diretório
app- Organiza os componentes do seu aplicativo. Ele tem subdiretórios que contêm a visão (visões e auxiliares), o controlador (controladores) e a lógica de negócios de backend (modelos).
app/controllers- O subdiretório dos controladores é onde o Rails procura para encontrar as classes dos controladores. Um controlador lida com uma solicitação da web do usuário.
app/helpers- O subdiretório helpers contém todas as classes auxiliares usadas para auxiliar as classes de modelo, visualização e controlador. Isso ajuda a manter o modelo, a visualização e o código do controlador pequenos, focados e organizados.
app/models- O subdiretório models contém as classes que modelam e agrupam os dados armazenados no banco de dados de nosso aplicativo. Na maioria das estruturas, essa parte do aplicativo pode se tornar muito complicada, tediosa, prolixa e sujeita a erros. Rails torna tudo muito simples!
app/view - O subdiretório de visualizações contém os modelos de exibição para preencher com os dados do nosso aplicativo, converter para HTML e retornar ao navegador do usuário.
app/view/layouts- Contém os arquivos de modelo para layouts a serem usados com visualizações. Isso modela o método comum de cabeçalho / rodapé para agrupar visualizações. Em suas visualizações, defina um layout usando o <tt> layout: default </tt> e crie um arquivo denominado default.html.erb. Dentro de default.html.erb, chame <% yield%> para renderizar a visualização usando este layout.
components - Este diretório contém componentes, pequenos aplicativos independentes que agrupam o modelo, a visualização e o controlador.
config- Este diretório contém a pequena quantidade de código de configuração que seu aplicativo precisará, incluindo a configuração do banco de dados (em database.yml), a estrutura do ambiente Rails (environment.rb) e o roteamento de solicitações da web de entrada (routes.rb). Você também pode ajustar o comportamento dos três ambientes Rails para teste, desenvolvimento e implantação com arquivos encontrados no diretório de ambientes.
db- Normalmente, seu aplicativo Rails terá objetos de modelo que acessam tabelas de banco de dados relacionais. Você pode gerenciar o banco de dados relacional com scripts que você cria e coloca neste diretório.
doc- Ruby tem um framework, chamado RubyDoc, que pode gerar documentação automaticamente para o código que você cria. Você pode ajudar o RubyDoc com comentários em seu código. Este diretório contém todos os Rails gerados pelo RubyDoc e a documentação do aplicativo.
lib - Você colocará bibliotecas aqui, a menos que elas pertençam explicitamente a outro lugar (como bibliotecas de fornecedores).
log- Registros de erros vão aqui. O Rails cria scripts que ajudam a gerenciar vários logs de erros. Você encontrará logs separados para o servidor (server.log) e cada ambiente Rails (development.log, test.log e production.log).
public - Como o diretório público de um servidor web, este diretório tem arquivos web que não mudam, como arquivos JavaScript (public / javascripts), gráficos (public / images), stylesheets (public / stylesheets) e arquivos HTML (public )
script- Este diretório contém scripts para iniciar e gerenciar as várias ferramentas que você usará com Rails. Por exemplo, existem scripts para gerar código (gerar) e lançar o servidor web (servidor).
test- Os testes que você escreve e aqueles que o Rails cria para você, vão todos aqui. Você verá um subdiretório para simulações (simulações), testes de unidade (unidade), acessórios (acessórios) e testes funcionais (funcionais).
tmp - O Rails usa este diretório para armazenar arquivos temporários para processamento intermediário.
vendor - Bibliotecas fornecidas por terceiros (como bibliotecas de segurança ou utilitários de banco de dados além da distribuição básica do Rails) vão aqui.
Além desses diretórios, haverá dois arquivos disponíveis no diretório demo.
README - Este arquivo contém detalhes básicos sobre o aplicativo Rail e a descrição da estrutura de diretórios explicada acima.
Rakefile- Este arquivo é semelhante ao Unix Makefile, o que ajuda a construir, empacotar e testar o código Rails. Isso será usado pelo utilitário rake fornecido junto com a instalação do Ruby.