【发布时间】:2014-11-24 03:33:55
【问题描述】:
使用命名空间 + 资源 + 集合与使用匹配有何不同。
例如,假设我想处理某个端点的所有 HTTP 方法。
namespace :webhooks do
resources :some_service, only: :none do
collection do
get :some_action
post :some_action
put :some_action
patch :some_action
delete :some_action
end
end
end
# Compare to
match '/webhooks/some_service/some_action', to: 'webhooks/some_service#some_action', via: :all
这里是根据rake routes关联的路由:
Prefix Verb URI Pattern Controller#Action
some_action_webhooks_some_service_index GET /webhooks/some_service/some_action(.:format) webhooks/some_service#some_action
POST /webhooks/some_service/some_action(.:format) webhooks/some_service#some_action
PUT /webhooks/some_service/some_action(.:format) webhooks/some_service#some_action
PATCH /webhooks/some_service/some_action(.:format) webhooks/some_service#some_action
DELETE /webhooks/some_service/some_action(.:format) webhooks/some_service#some_action
webhooks_some_service_some_action /webhooks/some_service/some_action(.:format) webhooks/some_service#some_action
除了行数之外,还有什么理由让我更喜欢一种方式而不是另一种方式?
【问题讨论】:
标签: ruby-on-rails rails-routing