Używanie Sinatry w Ruby

W poprzednim artykule w tym seria artykułówrozmawialiśmy o tym, czym jest Sinatra. W tym artykule przyjrzymy się prawdziwemu funkcjonalnemu kodowi Sinatra, dotykając kilku funkcji Sinatry, z których wszystkie zostaną szczegółowo zbadane w nadchodzących artykułach z tej serii.

Zanim zaczniesz, musisz zainstalować Sinatrę. Instalacja Sinatry jest tak łatwa, jak każdy inny klejnot. Sinatra ma kilka zależności, ale nic poważnego i nie powinieneś mieć problemów z instalacją jej na żadnej platformie.

Klejnot $ zainstalować sinatra

Witaj świecie!

Aplikacja „Hello world” Sinatry jest szokująco prosta. Nie licząc linii wymaganych, shebang i białych znaków, to tylko trzy linie. To nie jest tylko niewielka część twojej aplikacji, jak kontroler w aplikacji Rails, to wszystko. Inną rzeczą, którą możesz zauważyć, jest to, że nie trzeba uruchamiać niczego takiego jak generator Railsów, aby wygenerować aplikację. Po prostu wklej poniższy kod do nowego pliku Ruby i gotowe.

#! / usr / bin / env ruby
wymagają „rubygemów”
wymagają „sinatry”
pobierz „/” do
'Witaj świecie!'
koniec
instagram viewer

Oczywiście nie jest to bardzo przydatny program, to po prostu „Witaj świecie”, ale nawet bardziej przydatne aplikacje w Sinatrze nie są znacznie większe. Jak więc uruchomić tę małą aplikację internetową? Jakiś kompleks skrypt / serwer Komenda? Nie, po prostu uruchom plik. To tylko program Ruby, uruchom go!

inatra $ ./hello.rb
== Sinatra / 0.9.4 wkroczył na scenę 4567 w celu opracowania oprogramowania z kopią zapasową od Mongrel

Jeszcze nie bardzo ekscytujące. Uruchomił serwer i jest podłączony do portu 4567, więc idź dalej i wskaż swoją przeglądarkę internetową http://localhost: 4567/. Oto Twoja wiadomość „Witaj świecie”. Aplikacje internetowe nigdy wcześniej nie były tak łatwe w Rubim.

Używanie parametrów

Spójrzmy więc na coś bardziej interesującego. Stwórzmy aplikację, która wita cię po imieniu. Aby to zrobić, musimy użyć parametru. Parametry w Sinatrze są jak wszystko inne - proste i jednoznaczne.

#! / usr / bin / env ruby
wymagają „rubygemów”
wymagają „sinatry”
get '/ hello /: name' zrobić
„Witaj # {params [: name]}!”
koniec

Po wprowadzeniu tej zmiany musisz ponownie uruchomić aplikację Sinatra. Zabij go klawiszem Ctrl-C i uruchom ponownie. (Jest na to sposób, ale przyjrzymy się temu w przyszłym artykule.) Teraz parametry są proste. Zrobiliśmy akcję o nazwie /hello/:name. Ta składnia imituje wygląd adresów URL, więc przejdź do http://localhost: 4567 / witaj / Twoje imię zobaczyć to w akcji.

The /hello część odpowiada tej części adresu URL z żądania, które podałeś, i :Nazwa pochłonie każdy podany przez Ciebie tekst i umieści go w parametry skrót pod kluczem :Nazwa. Parametry są takie proste. Jest oczywiście znacznie więcej do zrobienia przy użyciu tych parametrów, w tym parametrów opartych na wyrażeniach regularnych, ale to wszystko, czego potrzebujesz w prawie każdym przypadku.

Dodawanie HTML

Na koniec rozbudujmy tę aplikację o odrobinę HTML. Sinatra zwróci wszystko, co otrzyma z twojego programu obsługi adresów URL do przeglądarki internetowej. Do tej pory zwracaliśmy właśnie ciąg tekstu, ale bez problemu możemy dodać trochę HTML. Użyjemy tutaj ERB, podobnie jak w Railsach. Istnieją inne (prawdopodobnie lepsze) opcje, ale jest to chyba najbardziej znana opcja, jeśli chodzi o Ruby, i dobrze sobie z nią poradzi.

Najpierw Sinatra wyświetli widok o nazwie układ jeśli taki istnieje. Ten widok układu powinien mieć wydajność komunikat. Ta instrukcja wydajności przechwytuje dane wyjściowe konkretnego renderowanego widoku. Umożliwia to bardzo proste tworzenie układów. Wreszcie mamy Witaj widok, który generuje aktualną wiadomość „witaj”. Jest to widok renderowany przy użyciu erb: cześć wywołanie metody Zauważysz, że nie ma osobnych plików widoków. Mogą być, ale w przypadku tak małej aplikacji najlepiej przechowywać cały kod w jednym pliku. Chociaż widoki są oddzielone na końcu pliku.

#! / usr / bin / env ruby
wymagają „rubygemów”
wymagają „sinatry”
get '/ hello /: name' zrobić
@nazwa = parametry [: nazwa]
erb: cześć
koniec
__KONIEC__
Układ @@





@@ Witaj

Witaj !

I masz to. Mamy kompletną, funkcjonalną aplikację hello world w około 15 liniach kodu wraz z widokami. W poniższych artykułach przyjrzymy się bliżej trasom, w jaki sposób możesz przechowywać i odzyskiwać dane oraz jak robić lepsze widoki za pomocą HAML.

instagram story viewer