Kurs języka Ruby. Ruby on Rails ActionPack

Podobne dokumenty
Ruby on Rails. Supersilnik WWW. Łukasz Włodarczyk

Programowanie w Ruby

Czym jest Ruby on Rails?

Programowanie w Ruby

Programowanie w Ruby

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Ruby i Ruby on Rails. Mateusz Drożdżyński

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

Przepis 1. Edycja formularza w miejscu 13. Rails sprawia, że edycja w miejscu jest prosta dzięki kontrolce script.aculo.us

Laboratorium nr 3 Podstawy Ruby on Rails

Laboratorium 7 Blog: dodawanie i edycja wpisów

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

Testowanie aplikacji. Kurs języka Ruby

Programowanie w Ruby

Ruby on rails. Wybór środowiska programistycznego lub Instalowanie Ruby on Rail framework i zapoznanie się z podstawami funkcjonowania i używania.

Ruby on rails. Instalowanie Ruby on Rail framework i zapoznanie się z podstawami

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Spis treści. Przedmowa Zaczynamy wprowadzenie do Rails Podstawy Active Record Relacje w Active Record...

EPI: Interfejs Graczny Podstawy Ruby on Rails

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

RUBY ON RAILS. ZHR.pl extreme II Warszawa Szymon Fiedler

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski

EPI: Interfejs Graficzny Wykład nr 8 Warstwa widoku


Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

Ruby on Rails. Wprowadzenie

Kurs rozszerzony języka Python

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Rails. Przepisy IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE

Projekt Giełdy Terminów Koncepcja. 19 czerwca 2015

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Metaprogramowanie w Ruby

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Laboratorium 6 Tworzenie bloga w Zend Framework

Fenomen Ruby On Rails. Marek Kirejczyk

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Dostosowywanie wyglądu aplikacji czytelnika w oparciu o oprogramowanie dlibra 5.0

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Grails. v 1.1 Web Framework

Quiz Aplikacja internetowa

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Programowanie w Ruby

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Programowanie obiektowe

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Technologie internetowe ASP.NET Core. Paweł Rajba

OBC01/TOPMOB Projektowanie w języku Objective-C

REFERAT O PRACY DYPLOMOWEJ

Ruby on Rails. Wprowadzenie. Wydanie II

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Zaawansowany kurs języka Python

MVC w praktyce tworzymy system artykułów. cz. 2

Budowa nowoczesnej aplikacji SPA z wykorzystaniem biblioteki Ember.js

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Bazy danych i strony WWW

Platforma Eclipse: Pluginy, RCP oraz GEF

Wprowadzenie do framework a Symfony

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Tworzenie i wykorzystanie usług sieciowych

Modele danych walidacja widoki zorientowane na model

Programowanie i projektowanie obiektowe

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Zrąb Grails. Bartosz Bekier

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Podstawy wzorca MVC MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

MVC w praktyce tworzymy system artykułów. cz. 1

GRID LAYOUT. Waldemar Korłub. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska

Dokumentacja Użytkownika Systemu

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Programowanie obiektowe

5. Mechanizm szablonów.

SZKOLENIE TWORZENIE SYSTEMÓW

Specyfikacja implementacyjna aplikacji serwerowej

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Rys.2.1. Drzewo modelu DOM [1]

Programowanie w Ruby

Platformy Programowania

Kurs rozszerzony języka Python

1 Wprowadzenie do J2EE

URL, URI różnice i podobieństwa

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Programowanie obiektowe

Podstawy technologii WWW

Wybrane działy Informatyki Stosowanej

media Blitz wydajne sytemy szablonów

Moduł kontrakty służy do przechowywania danych o zakontraktowanych cenach zakupu od wybranych kontrahentów.

Transkrypt:

Kurs języka Ruby Ruby on Rails ActionPack

Co to jest RoR: Środowisko do szybkiego tworzenia aplikacji webowych

Garść informacji Stworzony przez Davida Heinemeiera Hanssona DRY Don't Repeat Yourself Mnóstwo gotowców (Convention Over Configuration) i skryptów generujących szablony MVC Model-View-Controller

Podstawowe moduły ActionPack odpowiada za przesyłanie żądań (tj. URLi) do odpowiednich modułow oraz odbiera i wyświetla wyniki działań ActiveRecord definiuje ORM (object-relational mapping) ActiveSupport różne dodatki i rozszerzenia ActiveMailer wysyłanie maili

Przykładowy scenariusz http://mikolaj.pl/przegladanie/prezenty http://mikolaj.pl/store/do_koszyka/konsola http://mikolaj.pl/przegladanie/prezenty http://mikolaj.pl/store/do_koszyka/dvd http://mikolaj.pl/platnosci/przelew

Od strony komputera PrzegladanieController#prezenty StoreController#do_koszyka(konsola) PrzegladanieController#przezenty StoreController#do_koszyka(dvd) PlatnosciController#przelew

Konwencje http: //mikolaj.pl/store/do_koszyka/dvd: w pliku store_controller.rb jest klasa StoreController z metodą do_koszyka Jeszcze jest widok do_koszyka.rhtml

Pierwsza aplikacja $ mkdir sklep $ cd sklep $ rails demo

Wynik: create create app/controllers create app/helpers create app/models create app/views/layouts create config/environments...

Dla niecierpliwych ruby demo/script/server => Booting WEBrick... => Rails 2.2.2 application started on http://0.0.0.0:3000 => Ctrl-C to shutdown server; call with --help for options

Wynik

Zbudowanie kontrolera $ ruby script/generate controller Hello create app/views/hello create app/controllers/hello_controller.rb create test/functional/hello_controller_test.rb create app/helpers/hello_helper.rb

Konwencja Kontrolery są w katalogu app/controllers

app/controllers/hello_controller.rb class HelloController < ApplicationController end

Rozbudowa pliku class HelloController < ApplicationController def world end # tu możemy sobie coś policzyć end

Widoki Stronę html generują tzw. widoki Każdej metodzie kontrolera odpowiada plik z widokiem Widoki są w katalogu app/views/<nazwa klasy>/<metoda>

Rodzaje widoków Szablony rhtml: html z osadzonym Rubym Szablony rxml: xml z osadzonym Rubym Szablony rjs: dynamicznie generowany JavaScript

Widok app/views/hello/world.rhtml Html + wstawki w Rubym <div> <%= 2 + 2 %> </div>

Więcej rhtml <%= 5.times do licz %> <div>hello world</div> <%= end %>

Dodatkowa konwencja <%= 2 + 2 ->

Podsumowanie Mamy obsługę akcji (aktywowanych odwołaniami url) Mamy widoki Jak połączyć obliczenia z akcji z widokami?

Jeszcze raz definicja metody class HelloController < ApplicationController def world end @greeting = 'Hello world' end

hello/world.rhtml <%= @greeting %> lub <%= h(@greeting) %>

Funkcja h(string) Funkcja h przekształca argument na napis z zamienionymi znakami specjalnymi html'a na odpowiedniki, np. h('<--') = '<--'

Łączenie stron ze sobą Podejście bezpośrednie: <a href='hello/bye'>żegnaj</a> Po Rubiemu <%= link_to 'żegnaj', :action => 'bye' %>

Co trzeba uzupełnić Dopisać metodę bye w kontrolerze HelloController Dopisać widok bye.rhtml

Domyślna strona kontolera //localhost:3000/kontoler Za tę stronę odpowiada metoda kontrolera KontrolerController#index Oraz widok app/view/kontroler/index.rhtml

Wspólny układ strony Można wszystkim widokom z kontrolera przypisać jeden wspólny układ stron Dla kontrolera hello trzeba utworzyć szablon app/views/layouts/hello.rhtml

Treść szablonu <html><head> <%= stylesheet_link_tag ''styl'', :media => all %> <title>szablon</title> </head><body> <%= yield :layout %> </body></html>

Widoki kontrolera Widoki kontrolera powinny teraz generować tylko fragmenty html'a.

Układ stron jeszcze raz class HelloController < ApplicationController layout 'standard'... end

A gdzie jest strona główna public/index.html

Domyślny moduł W pliku config/routes.rb jest wiersz: # map.root :controller => "welcome" Można wstawić swój kontroler z metodą i widokiem index Trzeba usunąć plik public/index.html

KONIEC