0Pricing
Ruby Academy · Lekcja

Trasy i zasoby

Routing RESTful

Trasy i zasoby to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 4 lekcji w sumie.

Czym jest routing

Routing przypisuje przychodzące żądanie HTTP (metodę wraz ze ścieżką) do akcji kontrolera, która je obsługuje. Plik tras jest punktem wejścia aplikacji Rails.

  • Trasy znajdują się w config/routes.rb.
  • Każda trasa łączy adres URL z elementem controller#action.
  • Rails dopasowuje trasy od góry do dołu.

Podstawowa trasa

Najprostsza trasa przypisuje ścieżkę do akcji za pomocą get. Żądanie GET do /about wywołuje tutaj akcję about kontrolera PagesController.

Rails.application.routes.draw do
  get "/about", to: "pages#about"
end

Metody HTTP

Każda trasa określa metodę sygnalizującą zamiar:

  • get odczytuje dane.
  • post tworzy dane.
  • patch / put aktualizuje dane.
  • delete usuwa dane.

Ta sama ścieżka użyta z różnymi metodami może prowadzić do różnych akcji.

Zasoby RESTful

Metoda pomocnicza resources jednym wierszem generuje siedem standardowych tras REST dla modelu. To podstawa konwencjonalnego routingu w Rails.

Rails.application.routes.draw do
  resources :articles
end

Siedem akcji

resources :articles tworzy trasy dla:

  • index — listy, show — pojedynczego elementu.
  • new — formularza, create — zapisu.
  • edit — formularza, update — zapisu.
  • destroy — usuwania.

Obejmuje to pełny cykl życia zasobu.

Pomocniki ścieżek

Trasy generują nazwane pomocniki, dzięki czemu nie trzeba wpisywać adresów URL na sztywno. resources :articles udostępnia articles_path, article_path(@article), new_article_path oraz edit_article_path(@article).

articles_path            # => "/articles"
article_path(5)          # => "/articles/5"
new_article_path         # => "/articles/new"
edit_article_path(5)     # => "/articles/5/edit"

Ograniczanie akcji

Za pomocą only lub except można wygenerować tylko potrzebne trasy. Dzięki temu zakres routingu pozostaje niewielki i celowy.

resources :articles, only: [:index, :show]
resources :comments, except: [:edit, :update]

Zagnieżdżone zasoby

Zasoby można zagnieżdżać, aby wyrazić relację własności w adresie URL. Komentarze należące do artykułu stają się dostępne pod adresem /articles/1/comments. Zagnieżdżona trasa przekazuje do kontrolera parametr article_id.

resources :articles do
  resources :comments
end

# GET /articles/1/comments

Trasa główna

root określa, co zostanie załadowane pod adresem /, czyli na stronie głównej aplikacji. Dla zachowania przejrzystości należy umieścić ją blisko początku pliku tras.

Rails.application.routes.draw do
  root "articles#index"
end

Sprawdzanie tras

Proszę uruchomić rails routes, aby wyświetlić każdą trasę wraz z jej metodą, ścieżką, pomocnikiem i elementem controller#action. To najszybszy sposób na zrozumienie routingu aplikacji lub znalezienie w nim błędu.

Trasy member i collection

Do zasobu można dodać niestandardowe akcje:

  • Trasy member działają na jednym rekordzie: /articles/1/publish.
  • Trasy collection działają na całym zbiorze: /articles/search.
resources :articles do
  member { post :publish }
  collection { get :search }
end

Szybki test

Proszę sprawdzić, czy rozumieją Państwo routing.

Podsumowanie: trasy i zasoby

Poznali Państwo routing RESTful:

  • Trasy przypisują metodę wraz ze ścieżką do elementu controller#action.
  • resources generuje siedem standardowych tras.
  • Pomocniki ścieżek eliminują konieczność wpisywania adresów URL na sztywno.
  • only/except, zagnieżdżanie oraz trasy member i collection pozwalają dostosować ich zestaw.
  • root ustawia stronę główną, a rails routes wyświetla wszystkie trasy.

Następnie utworzymy kontrolery obsługujące te żądania.

Często zadawane pytania

Czy lekcja „Trasy i zasoby” jest bezpłatna?

Tak — pełny tekst „Trasy i zasoby” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Trasy i zasoby”?

Routing RESTful Ćwiczysz Ruby Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Ruby Academy?

Nie wymagamy żadnego doświadczenia. Ruby Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Trasy i zasoby”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Ruby Academy?

Tak. Każda lekcja Ruby Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Trasy i zasoby
  2. Kontrolery i akcje
  3. Silne parametry
  4. Widoki i renderowanie
← Powrót do Ruby Academy