In Rails, una rotta resourceful fornisce una mappatura tra i verbi e gli URL HTTP e le azioni del controller. Per convenzione, ogni azione mappa anche a particolari operazioni CRUD in un database. Una singola voce nel file di routing, come
resources :photos
crea sette diverse rotte nella vostra applicazione, tutte mappate al controllerPhotos:
GET /photosGET /photos/newPOST /photosGET /photos/:idGET /photos/:id/editPATCH/PUT /photos/:idDELETE /photos/:id
Le risorse possono anche essere annidate all’infinito usando questa sintassi a blocchi:
resources :photos do resources :commentsend
Questo genera i seguenti commenti percorsi:
Options
Prende le stesse opzioni di Base#match così come:
:path_names
Consente di cambiare la componente di segmento delle azioni edit e new. Le azioni non specificate non vengono cambiate.
resources :posts, path_names: { new: "brand_new" }
L’esempio precedente ora cambierà /posts/new in /posts/brand_new
:path
Consente di cambiare il prefisso del percorso per la risorsa.
resources :posts, path: 'postings'
La risorsa e tutti i segmenti ora saranno indirizzati a /postings invece di /posts
:only
Genera solo percorsi per le azioni date.
resources :cows, only: :showresources :cows, only:
:except
Genera tutte le rotte tranne che per le azioni date.
resources :cows, except: :showresources :cows, except:
:shallow
Genera rotte poco profonde per le risorse annidate.Quando posto su una risorsa padre, genera rotte poco profonde per tutte le risorse annidate.
resources :posts, shallow: true do resources :commentsend
E’ uguale a:
Questo permette agli URL per le risorse che altrimenti sarebbero profondamente annidate, come un commento su un post di un blog come/posts/a-long-permalink/comments/1234, di essere accorciati a solo/comments/1234.
:shallow_path
Fissa gli shallowroutes annidati con il percorso specificato.
scope shallow_path: "sekret" do resources :posts do resources :comments, shallow: true endend
La risorsa comments avrà le seguenti rotte generate per essa:
:shallow_prefix
Fissa i nomi delle shallowroute annidate con il prefisso specificato.
scope shallow_prefix: "sekret" do resources :posts do resources :comments, shallow: true endend
La risorsa comments qui avrà le seguenti rotte generate per essa:
:format
Consente di specificare il valore predefinito per il formategment opzionale o di disabilitarlo fornendo false.