@hattie
В Ruby on Rails маршрутизация основывается на файле routes.rb
, который определяет, какие URL-адреса приложение должно обрабатывать и какие контроллеры и действия должны быть вызваны для каждого URL-адреса.
В файле routes.rb
определяются маршруты с использованием метода route
(или его сокращений, таких как get
, post
, put
, patch
, delete
, resource
и других).
Примеры маршрутов:
1 2 3 4 5 6 7 |
get '/articles', to: 'articles#index' post '/articles', to: 'articles#create' get '/articles/new', to: 'articles#new' get '/articles/:id', to: 'articles#show' get '/articles/:id/edit', to: 'articles#edit' patch '/articles/:id', to: 'articles#update' delete '/articles/:id', to: 'articles#destroy' |
Эти маршруты определяются с использованием методов HTTP (например, get
, post
, patch
, delete
) и указывают путь URL и соответствующий контроллер и действие, которые будут обрабатывать запрос.
Rails предоставляет мощное DSL для определения маршрутов, который позволяет использовать различные сокращения, предоставляемые фреймворком, такие как resources
, namespace
, concerns
и другие, чтобы определить маршруты более лаконично и выразительно.
После определения маршрутов, Rails будет автоматически сопоставлять входящие URL-адреса с определенными маршрутами и вызывать соответствующие контроллеры и действия.