加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用非平静操作清理Rails路由

发布时间:2020-12-17 01:30:23 所属栏目:百科 来源:网络整理
导读:我有一个订阅控制器,其路由如下所示: get 'user/:user_id/subscription_requests' = 'subscriptions#index',as: :subscription_requestspost 'user/:user_id/subscribe' = 'subscriptions#subscribe',as: :user_subscribepost 'user/:user_id/unsubscribe'
我有一个订阅控制器,其路由如下所示:

get  'user/:user_id/subscription_requests' => 'subscriptions#index',as: :subscription_requests
post 'user/:user_id/subscribe'             => 'subscriptions#subscribe',as: :user_subscribe
post 'user/:user_id/unsubscribe'           => 'subscriptions#unsubscribe',as: :user_unsubscribe
post 'user/:user_id/request_subscription'  => 'subscriptions#request_subscription',as: :request_user_subscription
post 'user/:user_id/accept_subscription'   => 'subscriptions#accept',as: :accept_subscription_request
post 'user/:user_id/reject_subscription'   => 'subscriptions#reject',as: :reject_subscription_request

除索引之外的所有这些都是非平静的动作.如何在路径文件中使用类似资源的东西使这个更清洁,同时保持用户/:user_id /在路径中?

更新清晰度:

我试图避免逐行列出路由,而是做一些类似rails提供的其余操作.就像是:

resources:subscription_requests,:only => [:subscribe,:取消订阅,:拒绝,:接受等]

解决方法

您可以使用路由的成员函数.

resources :user,to: 'subscriptions',:only => [] do
  member do
    get 'subscription_requests'
    post 'subscribe'
    etc
  end
end

这将产生如下路线:

subscription_requests_user GET    /user/:id/subscription_requests(.:format)        subscriptions#subscription_requests
subscribe_user POST   /user/:id/subscribe(.:format)                    subscriptions#subscribe

文件:http://guides.rubyonrails.org/routing.html#adding-more-restful-actions

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读