Ruby on Rails - Framework

Uma estrutura é um programa, conjunto de programas e / ou biblioteca de código que grava a maior parte do seu aplicativo 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. Portanto, aqui você tem que descobrir o que há nele, quais entidades existem neste universo e como os itens nele se relacionam entre si. 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 que eles podem se registrar para as aulas, você pode imaginar uma página de boas-vindas, uma página de registro e uma página de confirmação, etc. Cada uma dessas páginas, ou visualizações, mostra ao usuário como as coisas ficar 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)

Ele mantém o relacionamento entre os objetos e o banco de dados e lida com validação, associação, transações e muito mais.

Este subsistema é implementado na biblioteca ActiveRecord, 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.

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 template baseados em script, como JSP, ASP, PHP, e muito fáceis de integrar com a tecnologia AJAX.

Este subsistema é implementado na biblioteca ActionView, 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.

Controlador (ActionController)

A facilidade dentro do aplicativo que direciona o tráfego, por um lado, consultando os modelos para dados específicos e, por outro lado, organizando esses dados (pesquisa, classificação, envio de mensagens) em um formato que se adapte às necessidades de uma determinada visualização.

Esse subsistema é implementado em ActionController, que é um intermediário de dados situado entre ActiveRecord (a interface do banco de dados) e ActionView (o mecanismo de apresentação).

Representação pictórica do framework MVC

Abaixo está uma representação pictórica do Ruby on Rails Framework -

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/2.2.0/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 -

tp>cd ruby\lib\ruby\gems\2.2.0\gems
ruby\lib\ruby\gems\2.2.0\gems\>dir

Você verá subdiretórios incluindo (mas não se limitando a) o seguinte -

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 tudo.