RUBY on RAILS
(twórca: D. Heinemeier Hansson)
o Korzysta z wielu konwencji, redukując czas tworzenia aplikacji
o Zapewnia wysoką funkcjonalność serwisów
o Ma wbudowane biblioteki do zadań programistycznych i Ajax’a
o Aplikacja uruchamiana z serwera internetowego
o Szerokie zastosowanie ORM (Object-Relational Mapping), które
odwzorowuje bazę danych jako obiekt aplikacji
o Zawiera bibliotekę Protptype (do funkcji Ajax’a)
RUBY
(twórca: Yukihiro Matsumoto)
o Obiektowy język skryptowy i interpretowany
o Metoda może, ale nie musi mieć ()
o Linia koda może, ale nie musi kończyć się ;
o Instant Rails środowisko do tworzenia i testowania
▪ Wbudowany serwer WWW Mongrel
o IRB (Interactive Ruby) interpreter kodu
o Typizacja dynamiczna
o Wszystko jest obiektem
o Hash para klucz=>wartość
o Wykrzyknik po nazwie metody modyfikacja obiektu
o Grupowanie kodu
o Konstruktor initialize
o Instancja zmiennej deklarowana za pomocą @
o Zmienne deklarowane za pomocą @@
o to_s konwersja na string
Script.aculo.us
o
łatwe tworzenie efektów wizualnych
o wykorzystanie techniki drag-and-drop (draggable_element i
drop_receiving_element)
o sortable_element – opisanie listy elementów
o text_field_with_auto_complete – automatyczne wypełnianie pól po
stronie serwera
KOD:
puts – wypisanie tekstu
var = 5 –
‘=’
to operator przypisania
#{var} – interpolacja zmiennej var
var=var.capitalize – zmiana na wielką pierwszej litery łańcucha
each – iteracja po el. tablicy
render :text – wywołanie metody render, specyfikująca parametr z
wykorzystaniem symbolu text
@server_name=request.server_software – definiowanie zmiennej
klasowej w kontrolerze, który zawiera informację o serwerze
<%=controller.action_name%> – metoda kontrolera action_name
wyświetla akcję, która jest w tej chwili wywoływana
<%=yield%> - Layout dostarcza widok powiązany z aktualnie
wykonywaną akcją
Walidatory (dziedziczą po ActiveRecord)
validates_presence_of – pola nie będą puste
validates_format_of – dopasowanie do wyrażenia regularnego
link_to – powiązanie akcji z podanymi argumentami
javascript_include_tag – uzyskanie dostępu do bibliotek JavaScript
link_to_remote – dostęp do JavaScript z pliku layout’u
collection_select – generowanie rozwijanego menu
text_area – generuje textarea XHTML
ActionController
o Controllergenerator – generacja kontrolera w Rails (ruby
script/generate controller nazwa)
o Kontroler renderuje szablon – dokument XHTML
(.rhtml)
o request – zawiera zmienne środowiskowe
ActionView
o Erb (osadzony Ruby)
<%= %>
interpretowany jako Ruby i
formatowany jako tekst
o
<% %>
- brak znaku równości, oznacza interpretowanie jako Ruby,
ale nie jest formatowane jako tekst
o
Layout
– główny widok, dodawanie nagłówka i stopki, generuje
szblon z wykorzystaniem yield
ActiveRecord
o Funkcja Migratoni – umożliwia wykonywanie operacji na bazie
danych
o CRUD (Create, Retrieve, Update, Delete) – wbudowana
funkcjonalność w ActiveRecord
o Wykonanie migracji komenda
rake (rake db:migrate),
wywołuje
metodę self.up
o Cofanie migracji komenda
rake db:migrate VERSION=0
, która
wywołuje metodę self.down
o Metoda
scaffold
atomatycznie tworzy CRUD (gotowe metody: new,
edit, list)