introdução ruby 1.8.7 + rails 3

Download Introdução Ruby 1.8.7 + Rails 3

If you can't read please download the document

Post on 12-May-2015

1.256 views

Category:

Education

3 download

Embed Size (px)

DESCRIPTION

Slides Mini-Curso de Ruby On Rails para o Meditec - Medianeira In Technology ministrado na UTFPR - Campus Medianeira

TRANSCRIPT

  • 1.Mini-Curso de RubyOnRails Rgis Eduardo Weizenmann Gregol [email_address]

2. Um desenvolvedor no um poltico, no um religioso. Fazer afirmaes com desconhecimento de causa um atestado de ignornciaFbio Akita. Repensando a Web com Rails (2006). 3. Ruby != Rails 4. 5. A Linguagem Criada pelo japons Yukihiro Matsumoto ou Matz em 1995; Dinmica e interpretada; Influenciada por Perl, Lips e SmallTalk; Em Ruby, tudo objeto; Todas as classes extend de Object; 6. A Linguagem Mtodos retornam valor: puts Hello World => nil Operao mtodo: eql, exists, extend 7. Caractersticas

  • Tipos bsicos:
    • Numeric;
    • String;
    • Symbol;
    • Array;
    • Hash;

8. Variveis

  • Locais:
    • variavel = 1
  • Instanciadas:
    • @variavel = Ruby
  • Classe:
    • @@classe = Classe (static do Java)
  • Globais:
    • $variavel = 900

9. Comparando

  • public double soma(double a, double b){
    • return a+b;
  • }
  • def soma a,b
    • a+b
  • end

10. Instalando o Ruby Windows: http://rubyforge.org/projects/rubyinstaller Linux: sudo apt-get install ruby-full Mac OS: sudo gem update --system 11. Instalando o Rails Windows: gem install rails Linux: sudo gem install rails Observao: gem install rails v=3 sudo gem install rails v=2.2.2 12. Instalando Banco de Dados Windows SQlite3: http://www.sqlite.org/download.html C:system32 dll MySQL: http://dev.mysql.com/downloads/ Linux: sudo apt-get install mysql-server 13. O framework Surgiu em 2004, criado por Dave Thomas DRY que significaDon't Repeat Yourself Scaffold (CRUD) 14. O framework Arquitetura M-V-C 15. O framework Ou meta-framework Composto por: ActiveSupport ActiveRecord ActionPack ActionMailer ActiveResource 16. ActiveSupport Framework que contm colees de diversas classes; Extenses de bibliotecas consideradas teis para uma aplicao em Ruby On Rails 17. ActiveRecord Considerado um framework que contm uma camada de mapeamento objeto-relacional, entre a aplicao e o banco de dados 18. ActionPack Framework HTML, XML, Javascripts, e controle de regras de negcio 19. ActionMailer Framework de recebimento de emails, capaz de realizar diversas operaes apenas com chamadas de entregas de correspondncia 20. ActiveResource

  • RESTful;
    • Em si define um pequeno conjunto de operaes, as mais importantes so POST, GET, PUT e DELETE.

21. Servidores e Banco de Dados WEBrick Mongrel Sqlite3 MySQL Oracle PostgreSQL 22. Scripts About: Informao sobre verso e componentes Console: Console com o ambiente da aplicao Dbconsole: Console padro do banco de dados Destroy: Remove cdigo gerado 23. Generate: Gera o cdigo de uma aplicao Plugin: Instalar/Desinstalar plugins Runner: Automatizar tarefas da aplicao Server Inicia o servidor de aplicao Scripts 24. Boas Prticas 25. Boas Prticas Convenes Modelos gordos Controllers magros Nomes de classes em ingls: Ex: Cliente = Customer; Tabelas so classes no plural: Ex: Classe Customer Tabela customers Chave primria por conveno: Ex: nome_class_id = customers_id 26. Criando um Projeto rails new Projeto_Meditec d mysql rails new 'nome do projeto' d (de database) banco de dados 27. Estrutura Projeto 28. Estrutura Projeto app: Onde fica os Controllers, Telas e Modelos config: configuraes da aplicao, banco, etc db: guarda as migraes, esquemas e arquivos do banco doc: documentao lib : arquivos de biblioteca log: os logs do servidor rails public: arquivos externos (css, js, imagens) 29. Estrutura Projeto Estrutura Projeto Estrutura Projeto Estrutura Projeto Estrutura Projeto script: scripts do rails (rails g, rails s) test: arquivos de teste unitrio, funcional tmp: arquivos temporrios do servidor, informaes de sesso, cache, migraes, esquemas e arquivos do banco vendor: onde vai os plugins para a app Gemfile : diretrio onde requerida as gems 30. Gerando um Controller rails generate controller Customer index new show edit create update destroy 31. Gerando um Modelo rails generate model Customer 32. Gerando um Scaffold rails generate scaffold Customer name:string rg:string cpf:string 33. Relacionamentos has_many (muitos pra um) Ex: has_many :contacts belongs_to (um pra muitos) ou (pertence ) Ex: belongs_to :customers has_and_belongs_to_many (muitos p/ muitos) Ex: has_and_belongs_to_many :products Ex: has_and_belongs_to_many :characteristics has_one (um p/ um) Ex: has_one :contacts Ex: belongs_to :customers 34. Migrations Executadas em sequencial; Desenvolvedor responsvel; 2 tarefas sempre: Realizar alterao, ex: add_column(:customers, :email, :string); Desfazer alterao, ex: remove_column(:email); 35. Rake Rake db:create Comando para criar a base de dados Rake db:migrate Comando para migrar a base de dados Rake db:destroy Comando para destruir a base de dados 36. Partials "contacts" %> 37. Form_Helpers Abaixo, uma lista dos FormHelpers disponveis: check_box fields_for file_field form_for hidden_field label password_field radio_button text_area text_field E uma lista dos FormTagHelpers: check_box_tag field_set_tag file_field_tag form_tag hidden_field_tag image_submit_tag password_field_tag radio_button_tag select_tag submit_tag text_area_tag text_ 38. Link_to :method => :delete :method => :put Mtodos HTTP: :confirm => Tem certeza? 39. Select 40. Datas 1970 %> 41. Validaes validates_presence_of validates_uniqueness_of validates_format_of :email, :with => /^[wd]+$/ :on => :create, :message => "e-mail invlido" 42. Mensagens de Erro 43. Form e Form_Builder { blocos de cdigo; } { blocos de cdigo; } 44. Recomendaes Akita on Rails Carlos Brando => Nome do Jogo Google Groups => rails-br flails.serviceweb.com 45. Curiosidades 46. Agradecimentos Rgis Eduardo Weizenmann Gregol [email_address] https://sites.google.com/site/regiseduardogregol/ http://www.r2rails.com.br/