Skip to content

Archives

  • tammikuu 2022
  • joulukuu 2021
  • marraskuu 2021
  • lokakuu 2021
  • syyskuu 2021

Categories

  • Ei kategorioita
Trend RepositoryArticles and guides
Articles

Reititys Railsissa

On 18 tammikuun, 2022 by admin
  • Mitä reititys tarkalleen ottaen on?
  • Miten reititys tehdään Ruby on Railsissa?
  • HTTP-pyyntömetodien tyypit
  • http-pyynnön purkaminen
  • Resurssien määrittely
  • Yksittäiset ja useat resurssit
  • Sisäkkäiset resurssit
  • Jatko-opiskelu

Mitä reititys tarkalleen ottaen on?

Kun käyttäjältä tulee HTTP-pyyntö sovellukseen, se tulee ohjata oikealle kontrollerille. Voit kuvitella reitittimen kuin vastaanottovirkailijan, joka yhdistää sinut oikealle henkilölle.

Miten reititys tehdään Ruby on Railsissa?

Railsissa sovelluksesi reitit asuvat config/routes.rb:ssä. Rails-reititin tunnistaa URL-osoitteet ja lähettää ne kontrollerin toimintaan. Se voi myös luoda polkuja ja URL-osoitteita, jolloin vältytään kovakoodattavilta merkkijonoilta näkymissäsi. Tarkastellaan sovellusta, jolla varataan huoneita eri hotelleista, ja katsotaan, miten tämä toimii.

HTTP-pyyntömetodien tyypit

Sovellus vastaanottaa HTTP-pyynnön, joka kuljettaa mukanaan metodin, joka voi olla:

GET – Resurssin hakeminen

POST – Resurssin luominen

PUT – Resurssin täydellinen päivittäminen

PATCH – Resurssin osittainen päivittäminen

DELETE – Resurssin poistaminen

Nämä metodit määräävät, mitä ohjaimen toimintametodia kutsutaan.

http-pyynnön purkaminen

Jos sovellus vastaanottaa pyynnön, GET /hotels/1. Pyyntö lähetetään hotellien kontrollerin show-toimintoon, jonka paramsissa on { id: '1' }.

get '/hotels/:id', to: 'hotels#show'

Samoin,

get '/hotels', to: 'hotels#index'get '/hotels/:id', to: 'hotels#show'get '/hotels/new', to: 'hotels#new'post '/hotels', to: 'hotels#create'get '/hotels/:id/edit', to: 'hotels#edit'put '/hotels/:id', to: 'hotels#update'delete '/hotels/:id', to: 'hotels#destroy'

TIP: Jos joskus haluat listata kaikki sovelluksesi reitit, voit käyttää rails routes päätelaitteessa, ja jos haluat listata tietyn resurssin reitit, voit käyttää rails routes | grep hotel. Tämä listaa kaikki Hotellin reitit.

Resurssien määrittely

Niin kuin vastaanottovirkailijalla on tietue kaikista varauksista, myös sovelluksella on oma tietueensa kohdassa config/routes.rb.

Rails.application.routes.draw do resources :hotelsend

Kirjoittamalla resources :hotels luomme sovellukseesi kaikki seitsemän erilaista reittiä, jotka kaikki kartoittavat Hotellit-ohjaimen kuten edellä mainittiin.

Jos kontrollerissasi on vain muutama näistä toiminnoista, voit muuttaa samaa seuraavilla avainsanoilla.

Avainsana vain sisältää vain mainitut toiminnot.resources :hotels, only:

On myös avainsana except, jolla voit nimetä ne, joita et halua sisällyttää.

resources :hotels, except:

Yksittäiset ja useat resurssit

Joskus meillä on yksi resurssi ts. meidän täytyy käyttää vain yhtä sivua sen sijaan, että viittaisimme id:hen. Silloin käytämme yksikäsitteistä termiä resurssi.

resource :hotels

Kun joudumme määrittelemään useita resursseja,

resources :hotels, :rooms mikä toimii samalla tavalla kuin

resources :hotels,resources :rooms

Sisäkkäiset resurssit

Joskus meillä on sisäkkäisiä reittejä,/hotels/:id/rooms jotka ovat seurausta resursseista,/hotels/:id/rooms jotka ovat loogisesti toisten resurssien lapsia. Oletetaan esimerkiksi, että sovelluksesi sisältää nämä mallit:

class Hotel < ApplicationRecord has_many :roomsendclass Room < ApplicationRecord belongs_to :hotelend

Tällöin ilmoitamme resurssimme näin,

resources :hotels do resources :roomsend

Tämän ilmoituksen avulla pääsemme käsiksi sisäkkäisiin URL-osoitteisiin, kuten /hotels/:id/rooms , /hotels/:id/rooms/:id , /hotels/:id/rooms/new jne

Jatko-opiskelu

Jos haluat perehtyä syvällisemmin reititykseen, voit tutustua Railsin reititykseen ulkoa päin http://guides.rubyonrails.org/routing.html.

Cover Photo by Javier Allegue Barros on Unsplash (https://unsplash.com/photos/C7B-ExXpOIE)

Vastaa Peruuta vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Arkistot

  • tammikuu 2022
  • joulukuu 2021
  • marraskuu 2021
  • lokakuu 2021
  • syyskuu 2021

Meta

  • Kirjaudu sisään
  • Sisältösyöte
  • Kommenttisyöte
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress