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
Comprendre le routage des rails
Recommended Posts