[Rails] Paramètres d'acheminement complets

Comment définir le routage

Méthode de définition normale


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

resorces Générez un ensemble d'itinéraires ingénieux. (7 actions)


resources :posts

option --param

Segment: id peut être changé en n'importe quelle valeur avec l'option param.


resources :posts, param: :no

#=> /books/:no

--uniquement, sauf option

Vous pouvez limiter le routage à des actions spécifiques ou exclure des actions spécifiques du routage.


resources :posts, only: [:show]

resources :posts, except: [:show]

--collection, option membre

La collection est utilisée pour le routage qui ne nécessite pas d'identifiant, et le membre est utilisé pour le routage qui ne nécessite pas d'identifiant.


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

Utilisé lors de l'utilisation de ressources uniques (ressources qui ne nécessitent pas de référence d'identifiant). (Autre que l'action d'index)


resource :user

root Générez un routage pour les routes d'application.


root 'welcome#index'

HttpHelpers Une méthode d'assistance d'une méthode HTTP typique est définie.

Avec match, vous pouvez utiliser l'option via pour générer des routes pour plusieurs méthodes HTTP.


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

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

Si l'option d'ancrage est définie sur false, elle sera valide pour toutes les demandes qui correspondent à la ressource commençant par path.


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

scope Vous pouvez créer différentes étendues et décrire les paramètres de routage.


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

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

Utilisez le contrôleur spécifié par l'option de contrôleur dans l'étendue.


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

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

Utilisez l'action spécifiée par l'option d'action dans l'étendue.


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

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

Utilisez le module spécifié par l'option module dans la portée.


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

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

Le nom de l'espace de noms est ajouté au début du routage.


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

référence

Comprendre le routage des rails

Recommended Posts

[Rails] Paramètres d'acheminement complets
À propos du routage des rails
Principes de base du routage des rails
Résumé du routage Rails 6.0
Erreur de routage Catch Rails
[Rails] Concevoir un résumé de routage associé
[Note] Confirmation de routage Rails3
[Rails] Paramètres de police personnalisés
Relation de vue du contrôleur de routage des rails
Comment écrire le routage Rails
Rails routage des ressources singulières par ressource
[Rails] Résumé de la configuration de routage compliquée
Définir autre chose que l'ID pour le routage Rails
[Rails] Paramètres de validation et localisation en japonais
Ruby On Rails conçoit un conflit de routage
routage
[Ruby on Rails] 1 modèle CRUD (routage principal)
Rails / users /: id / to / {random_srting}: routage par défaut
[rails] Comment configurer le routage dans les ressources