A linguagem de programação Ruby permite transformar dinamicamente um campo extraído do banco de dados em um link para uma pagina de sua preferencia.
Para utilizar este post é necessário criar a aplicação básica MVC criada no post anterior, para criar a aplicação utilize o link abaixo:
Instruções Ruby
Tag <% %>
Esta Tag permite que sejam escritos comandos Ruby em uma pagina HTML.
Link_to
Uma instrução Ruby que permite criar um link dinâmico em uma pagina HTML.
Controller
Um controller possui sete opções de ações que podem ser executadas, vamos utilizar a padrão chama INDEX que é responsável pela pagina principal do website e a ação SHOW que é responsável por mostrar o conteúdo de uma VIEW do website.
Programa básico:
MVC Ruby on Rails: https://desenvolvimentoaberto.wordpress.com/2014/06/01/websites-model-view-controller-mysql-ruby-on-rails-linux/
Website MVC
Pagina com os links criados à partir de uma tabela do banco de dados:
Pagina com os detalhes de cada link:
Nosso objetivo é modificar a aplicação criada no post anterior para que cada descrição do campo nome na pagina HTML principal seja transformada em um link para uma outra pagina que fornece mais detalhes sobre o assunto referido.
Primeiro conecte-se ao banco de dados DAprod e altere a tabela manualmente e modifique os dados utilizando o script abaixo.
- Utilize os script MySQL abaixo para alterar a tabela e os dados utilizados no website.
- Crie um novo arquivo de VIEW para a ação SHOW do CONTROLLER chamado show.html.erb.
- Altere os códigos dos seus arquivos de acordo com os códigos abaixo.
- Inicie o servidor Rails utilizando o seguinte comando: rails server
- Digite no browser a seguinte url para utilizar o programa: http://localhost:3000/empresas/
Exemplo:
Neste exemplo criamos um website MVC com que exibe dados e a descrição dos dados em uma pagina de detalhes.
MySQL
-- Usa o banco de dados use DAprod; -- Verifica a tabela select * from empresas; -- Adiciona campos alter table empresas add projeto varchar(30); alter table empresas add tipo varchar(20); alter table empresas add linguagem varchar(35); alter table empresas add descricao varchar(100); -- Altera dados update empresas set projeto = 'DA-Samples', tipo = 'OpenSource', linguagem = 'Abap-Java-C#-Python-Ruby-C++', Descricao = 'TRN - Treinamento dirigido ao desenvolvedor' Where id = 1; update empresas set projeto = 'DA-Tools', tipo = 'Free', linguagem = 'Abap-Java-C#-Python-Ruby-C++', Descricao = 'Samples - Ferramentas desenvolvidas a partir do projeto de treinamento' Where id = 2; update empresas set projeto = 'DA-ERP', tipo = 'OpenSource', linguagem = 'Abap-Java-C#-Python-Ruby-C++', Descricao = 'DEV - Projeto ERP Integrado OpenSource' Where id = 3;
View – index.html.erb
<h2>Desenvolvimento Aberto</h2> <p>Lista de Blogs e Projetos Open Source</p> <pre> <table width="500"> <tr> <th>Cod:</th> <th> </th> <th>Empresa:</th> <th> </th> <th>Site:</th> </tr> <% @empresas.each do |empresa| %> <tr> <td><%= empresa.codigo%> </td> <td> </td> <td><%= link_to empresa.nome, empresa %> </td> <td> </td> <td><%= empresa.site%> </td> </tr> <%end%> </table> </pre>
View – show.html.erb
<h1><%= @empresa.nome %></h1> <p>codigo: <%= @empresa.codigo%> Nome: <%= @empresa.projeto%> Tipo:<%= @empresa.tipo%> </p> <p>Lingua: <%= @empresa.linguagem%></p> <p>Criado em: <%= @empresa.created_at%></p> <p>Desc: <%= @empresa.descricao%></p>
Controller – empresas_controller.rb
class EmpresasController < ApplicationController def index @empresas = Empresa.all end def show @empresa = Empresa.find(params[:id] ) end end
Routes – routes.rb
Rails.application.routes.draw do resources :empresas end