• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introdução ao Ruby On Rails
 

Introdução ao Ruby On Rails

on

  • 9,074 views

breve introdução ao ruby on rails, com exercício prático

breve introdução ao ruby on rails, com exercício prático

Statistics

Views

Total Views
9,074
Views on SlideShare
9,024
Embed Views
50

Actions

Likes
3
Downloads
275
Comments
0

2 Embeds 50

http://www.slideshare.net 46
http://bptecnologia.wordpress.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introdução ao Ruby On Rails Introdução ao Ruby On Rails Presentation Transcript

    • ruby on rails plataforma de desenvolvimento web 1
    • ruby on rails índice de conteúdos introdução filosofia & arquitectura models controllers views exemplo prático - loja online http://www.rubyonrails.org/ 2 2
    • = + ruby on rails plataforma de desenvolvimento web :definir => “origem” tornada pública em 2004 por David Heinemeier Hansson, tendo sido extraída de uma aplicação real licenciada sob a licença MIT – Software Livre multi-plataforma (Windows, Linux, MacOS X, *BSD) :definir => “filosofia” convenção vem antes da configuração a plataforma assume determinados prossupostos que facilitam e tornam o processo de desenvolvimento mais rápido -- no entanto, essas convencções podem ser modificadas dry - don’t repeat yourself (evite repetições) opção de desenho que tenta minimizar as repetições de código numa aplicação -- cada conceito deverá estar expresso num único sítio. estrutura pré-definida assume o padrão de desenho model-view-controller e a utilização de uma base de dados através de ORM também tem uma estrutura de pastas pré-definida, onde cada módulo tem o seu local apropriado http://www.rubyonrails.org/ 3
    • ruby on rails características principais :definir => “arquitectura” model-view-controller padrão de desenho que divide em três componentes distintos a forma de interagir com uma aplicação modelo - mantêm o estado da aplicação (tabelas) view - interface com o utilizador (html, javascript) controller - recebem eventos do exterior, interagem com o modelo e devolvem output http://www.rubyonrails.org/ 4 4
    • ruby on rails model, view, controller :definir => “modelo” ActiveRecord -- object-relational mapping padrão de desenho que abstrai as interacções com o modelo de dados, efectuando o mapeamento entre classes e entidades ‣ zero linhas de código SQL ‣ suporta vários SGBDs (Oracle, SQL Server, MySQL, etc) ‣ cada modelo corresponde tipicamente a uma tabela ou relação entre tabelas ‣ lógica de negócio implementada no modelo e não na base de dados ‣ uma instância da classe é uma linha na tabela http://www.rubyonrails.org/ 5 5
    • ruby on rails model, view, controller :definir => “modelo” http://www.rubyonrails.org/ 6 6
    • ruby on rails model, view, controller :definir => “controller” ActionController o controlador é o centro lógico da aplicação: ‣ coordena as interacções entre o utilizador, o interface de utilização e o modelo de dados ‣ responsável pela identificação das acções a desempenhar ‣ gere os pedidos HTTP, as sessões, cookies, etc neste exemplo ‣ o pedido HTTP de origem terá sido do tipo: http://localhost/projectos/ ‣ é criado uma variável de instância do controlador, com uma lista de todos os projectos registados na base de dados ‣ uma vez executado o código do método, o controlo é passado à view http://www.rubyonrails.org/ 7 7
    • ruby on rails model, view, controller :definir => “view” ERb - ruby embebido em html as views são blocos de html com conteúdo dinãmico proviniente de código ruby ‣ ficheiros com pedaços de html/javascript e Ruby -- templates neste exemplo ‣ o objecto @projectos é o array de instâncias da classe Projecto, devolvido pelo controller ‣ as tags <% %> delimitam código executável que não deve ser traduzido para HTML ‣ as tags <%= %> delimitam código que deve ser ser visualizável http://www.rubyonrails.org/ 8 8
    • ruby on rails organização :definir => “estrutra de um projecto” pastas mais relevantes ‣ app ‣ controllers - controladores ‣ models - modelos ‣ views - views, organizadas por controlador ‣ layouts - views comuns a toda a aplicação ‣ controllerA ‣ controllerB ‣ ... ‣ config - ficheiros de configuração da aplicação ‣ db ‣ migrate - migrações (criação / alteração do modelo de dados) ‣ public - a raíz da aplicação (wwwroot) ‣ images ‣ javascripts ‣ stylesheets ‣ script - vários scripts ruby (gerar código, iniciar servidor web, etc.) ‣ vendor ‣ plugins - plugins adicionais http://www.rubyonrails.org/ 9 9
    • ruby on rails exemplo real :definir => “catálogo de produtos online” gerir os produtos (administração) 1. criar o projecto: $ rails loja $ cd loja 2. criar a base de dados: $ mysqladmin -u root create loja_development 3. criar a tabela e o modelo dos produtos: $ ruby script/generate model Product 4. alterar a migração gerada: $ edit db/migrate/001_create_products.rb 5. executar as migrações: $ rake db:migrate 6. criar o controlador de administraçãõ: $ ruby script/generate controller admin 7. definir o scaffold no controlador: $ edit app/controllers/admin_controller.rb 8. executar o servidor web: http://www.rubyonrails.org/ 10 $ ruby script/server 10
    • ruby on rails exemplo real :definir => “catálogo de produtos online” alterações ao modelo de dados e validações 1. criar a migração: $ ruby script/generate migration add_price $ edit db/migrate/002_add_price.rb 2. actualizar a base de dados: $ rake db:migrate 3. alterar o modelo dos produtos e testar: $ edit app/models/product.rb $ script/server http://www.rubyonrails.org/ 11 11
    • ruby on rails exemplo real :definir => “catálogo de produtos online” alterar o visual da listagem - #1 1. mudar do scaffold dinâmico para estático: $ ruby script/generate scaffold product admin 2. criar (copiar?) os ficheiros CSS: $ edit public/stylesheets/loja.css 3. alterar o recém-criado layout do controlador: $ edit app/views/layouts/admin.rhtml http://www.rubyonrails.org/ 12 12
    • alterar o visual da listagem - #2 ruby on rails exemplo real 4. alterar o template que mostra a listagem: $ edit app/views/admin/list.rhtml http://www.rubyonrails.org/ 13 13
    • ruby on rails exemplo real :definir => “catálogo de produtos online” criação da página principal 1. criar o controlador da loja: $ ruby script/generate controller store index 2. alterar o controlador da loja: $ edit app/controllers/store_controller.rb 3. alterar o template do método index: $ edit app/views/store/index.rhtml 4. alterar o layout da página: $ edit app/views/layouts/store.rhtml http://www.rubyonrails.org/ 14 14
    • ruby on rails exemplo real :definir => “catálogo de produtos online” carrinho de compras - #1 1. criar os modelos do carrinho: $ edit app/models/carb.rb $ edit app/models/cart_item.rb http://www.rubyonrails.org/ 15 15
    • ruby on rails exemplo real :definir => “catálogo de produtos online” carrinho de compras - #2 2. alterar o controlador da loja: $ edit app/controllers/store_controller.rb 3. criar a view do carrinho: $ edit app/views/store/add_to_cart.rhtml http://www.rubyonrails.org/ 16 16
    • ruby on rails exemplo real :definir => “catálogo de produtos online” guardar encomendas - #1 1. criar novos modelos: $ ruby script/generate model Order $ ruby script/generate model LineItem 2. alterar as respectivas migrações: $ edit db/migrate/004_create_orders.rb $ edit db/migrate/005_create_line_items.rb 3. actualizar esquema de dados: $ rake db:migrate http://www.rubyonrails.org/ 17 17
    • ruby on rails exemplo real :definir => “catálogo de produtos online” guardar encomendas - #2 4. alterar os modelos gerados: $ edit app/models/order.rb $ edit app/models/line_item.rb 5. alterar o controlador da loja: $ edit app/controllers/store_controller.rb http://www.rubyonrails.org/ 18 18
    • ruby on rails exemplo real guardar encomendas - #3 6. alterar a view do carrinho: :definir => “catálogo de produtos online” $ edit app/views/store/add_to_cart.rhtml 7. criar a view do método ‘checkout’: $ edit app/views/store/checkout.rhtml http://www.rubyonrails.org/ 19 19
    • ruby on rails aplicações web ágeis fim perguntas? http://www.rubyonrails.org/ 20 20