[RAILS] [Schienen] Vervollständigen Sie die Routing-Einstellungen

So definieren Sie das Routing

Normale Definitionsmethode


get '/post/:id', to: 'posts#show'

resorces Generieren Sie einen einfallsreichen Satz von Routen. (7 Aktionen)


resources :posts

Option --param

Segment: id kann mit der Option param in einen beliebigen Wert geändert werden.


resources :posts, param: :no

#=> /books/:no

--nur außer Option

Sie können das Routing auf bestimmte Aktionen beschränken oder bestimmte Aktionen vom Routing ausschließen.


resources :posts, only: [:show]

resources :posts, except: [:show]

Die Sammlung wird für das Routing verwendet, für das keine ID erforderlich ist, und das Mitglied wird für das Routing verwendet, für das keine ID erforderlich ist.


resources :posts, only:[] do
  collection do
    get :post_lndex , to: 'posts#post_index'
  end
  member do
    get :post_edit , to: 'posts#post_edit'
  end
end

resource

Wird verwendet, wenn einzelne Ressourcen verwendet werden (Ressourcen, für die keine ID-Referenz erforderlich ist). (Außer Indexaktion)


resource :user

root Generieren Sie Routing für Anwendungsrouten.


root 'welcome#index'

HttpHelpers Hilfsmethoden typischer HTTP-Methoden sind definiert.

Mit match können Sie die Option via verwenden, um Routen für mehrere HTTP-Methoden zu generieren.


match '/posts/:id', to: 'posts#update', as: 'post', via: [:put, :patch]

#=> PUT|PATCH /posts/:id(.:format) posts#update

Wenn die Ankeroption auf false gesetzt ist, gilt sie für alle Anforderungen, die der Ressource entsprechen, beginnend mit path.


match 'posts', to: 'posts#index', anchor: false, via: :get

scope Sie können verschiedene Bereiche erstellen und Routing-Einstellungen beschreiben.


scope '/posts' do
  get ':id', to: 'posts#show'
end

#=> GET /books/:id(.:format) posts#show

Verwenden Sie den Controller, der durch die Controller-Option im Bereich angegeben wird.


scope '/posts', controller: :posts do
  get '/', to: :index
  post '/', to: :create
end

#=>  GET /posts(.:format) posts#index
#=>  POST /posts(.:format) posts#create

Verwenden Sie die durch die Aktionsoption im Bereich angegebene Aktion.


scope '/posts/:id', controller: :posts, action: :update do
  match '/', via: [:put, :patch]
end

#=> PUT|PATCH /posts/:id(.:format) posts#update

Verwenden Sie das durch die Moduloption im Bereich angegebene Modul.


scope '/admin', module: :admin, as: :admin do
  get '/', to: 'admin#index'
end

#=> GET /admin(.:format) admin/admin#index

Der Name des Namespace wird am Anfang des Routings hinzugefügt.


namespace :admin, as: 'admin' do
  # do something
end

Referenz

Grundlegendes zum Rails-Routing

Recommended Posts

[Schienen] Vervollständigen Sie die Routing-Einstellungen
Informationen zum Rails-Routing
Grundlagen des Rails-Routings
Rails 6.0-Routing-Zusammenfassung
Catch Rails Routing-Fehler
[Rails] Zusammenfassung der geroutenbezogenen Entwicklung
[Hinweis] Bestätigung des Rails3-Routings
[Schienen] Benutzerdefinierte Schriftarteinstellungen
Beziehung zwischen Rails Routing Controller-Ansicht
Wie schreibe ich Rails Routing
Rails singuläres Ressourcenrouting nach Ressource
[Rails] Zusammenfassung der komplizierten Routing-Konfiguration
Stellen Sie eine andere ID als die für das Rails-Routing ein
[Rails] Validierungseinstellungen und japanische Lokalisierung
Ruby On Rails entwickelt Routing-Konflikte
Routing
[Ruby on Rails] 1 Modell CRUD (Routing Main)
Rails / users /: id / to / {random_srting}: Standard-Routing
[Rails] So konfigurieren Sie das Routing in Ressourcen