Ruby on Rails 2.1 - Framework
Uma estrutura é um programa, conjunto de programas e / ou biblioteca de código que escreve a maioria dos aplicativos para você. Quando você usa uma estrutura, seu trabalho é escrever as partes do aplicativo que fazem com que ele faça as coisas específicas que você deseja.
Quando você se propõe a escrever um aplicativo Rails, deixando de lado a configuração e outras tarefas domésticas, você tem que realizar três tarefas principais -
Describe and model your application's domain- O domínio é o universo do seu aplicativo. O domínio pode ser uma loja de música, uma universidade, um serviço de encontros, um catálogo de endereços ou um inventário de hardware. Então, você tem que descobrir o que há nele, quais entidades existem neste universo e como os itens nele se relacionam uns com os outros. Isso é equivalente a modelar uma estrutura de banco de dados para manter as entidades e seus relacionamentos.
Specify what can happen in this domain- O modelo de domínio é estático. Você tem que torná-lo dinâmico. Os endereços podem ser adicionados a um catálogo de endereços. Partituras musicais podem ser adquiridas em lojas de música. Os usuários podem fazer login em um serviço de encontros. Os alunos podem se inscrever para aulas em uma universidade. Você precisa identificar todos os cenários ou ações possíveis dos quais os elementos do seu domínio podem participar.
Choose and design the publicly available views of the domain- Neste ponto, você pode começar a pensar em termos de navegador da web. Depois de decidir que seu domínio tem alunos e eles podem se registrar para as aulas, você pode imaginar uma página de boas-vindas, uma página de registro ou uma página de confirmação, etc. Cada uma dessas páginas ou visualizações mostra ao usuário como as coisas estão em um certo ponto.
Com base nas três tarefas acima, Ruby on Rails lida com uma estrutura Model / View / Controller (MVC).
Ruby on Rails MVC Framework
o Model View CO princípio ontroller divide o trabalho de um aplicativo em três subsistemas separados, mas intimamente cooperativos.
Modelo (ActiveRecord)
Mantém o relacionamento entre objeto e banco de dados e lida com validação, associação, transações e muito mais.
Este subsistema é implementado em ActiveRecord biblioteca, que fornece uma interface e ligação entre as tabelas em um banco de dados relacional e o código do programa Ruby que manipula os registros do banco de dados.
Os nomes dos métodos Ruby são gerados automaticamente a partir dos nomes dos campos das tabelas do banco de dados.
O Active Record também fornece localizadores baseados em atributos dinâmicos e vários outros métodos auxiliares que tornam a interação com o banco de dados fácil e eficiente.
Exibir (ActionView)
É uma apresentação de dados em um formato específico, desencadeada pela decisão de um controlador de apresentar os dados. Eles são sistemas de modelos baseados em script como JSP, ASP, PHP e muito fáceis de integrar com a tecnologia AJAX.
Este subsistema é implementado em ActionViewbiblioteca, que é um sistema baseado em Embedded Ruby (ERb) para definir modelos de apresentação para apresentação de dados. Cada conexão da Web com um aplicativo Rails resulta na exibição de uma visão.
O ActionView ajuda a separar os detalhes da apresentação da lógica de negócios central do seu aplicativo.
Controlador (ActionController)
A facilidade dentro do aplicativo que direciona o tráfego, por um lado, consultando os modelos em busca de dados específicos e, por outro lado, organizando esses dados (pesquisando, classificando, massageando-os) em uma forma que se adapte às necessidades de uma determinada visualização.
Este subsistema é implementado no ActionController, que é um intermediário de dados situado entre o ActiveRecord (a interface do banco de dados) e o ActionView (o mecanismo de apresentação).
Representação do MVC Framework
Uma representação pictórica do Ruby on Rails Framework é fornecida aqui -
Representação de Diretório do MVC Framework
Assumindo uma instalação padrão, padrão sobre Linux, você pode encontrá-los assim -
tp> cd /usr/local/lib/ruby/gems/1.8/gems
tp> ls
Você verá subdiretórios incluindo (mas não se limitando a) o seguinte -
- actionpack-x.y.z
- activerecord-x.y.z
- rails-x.y.z
Em uma instalação do Windows, você pode encontrá-los assim -
C:\>cd ruby\lib\ruby\gems\1.8\gems
C:\ruby\lib\ruby\gems\1.8\gems\>dir
Você verá subdiretórios incluindo (mas não se limitando a) o seguinte -
- actionpack-x.y.z
- activerecord-x.y.z
- rails-x.y.z
ActionView e ActionController são agrupados em ActionPack.
ActiveRecord fornece uma variedade de técnicas de programação e atalhos para manipular dados de um banco de dados SQL. ActionController e ActionView fornecem recursos para manipular e exibir esses dados. O Rails une todos eles.