如何在资源有限的情况下添加自定义路由
How to add a custom route with limited resources
我的 friendships
控制器起初只需要两个动作,create
和 destroy
,所以我在 config/routes.rb
中添加了以下内容:
resources :friendships, only: [:create, :destroy]
但是,我必须添加自定义 drop
操作以允许用户放弃交友请求。
由于我只需要这三个动作,我不会不使用所有RESTful资源,所以我想知道我是否可以编辑config/routes.rb
如下:
resources :friendships, only: [:create, :destroy] do
member do
post :request, action: :drop
end
end
是的,你可以;这样做将导致这条路线:
Prefix Verb URI Pattern Controller#Action
request_friendship POST /friendships/:id/request(.:format) friendships#drop
friendships POST /friendships(.:format) friendships#create
friendship DELETE /friendships/:id(.:format) friendships#destroy
我的 friendships
控制器起初只需要两个动作,create
和 destroy
,所以我在 config/routes.rb
中添加了以下内容:
resources :friendships, only: [:create, :destroy]
但是,我必须添加自定义 drop
操作以允许用户放弃交友请求。
由于我只需要这三个动作,我不会不使用所有RESTful资源,所以我想知道我是否可以编辑config/routes.rb
如下:
resources :friendships, only: [:create, :destroy] do
member do
post :request, action: :drop
end
end
是的,你可以;这样做将导致这条路线:
Prefix Verb URI Pattern Controller#Action
request_friendship POST /friendships/:id/request(.:format) friendships#drop
friendships POST /friendships(.:format) friendships#create
friendship DELETE /friendships/:id(.:format) friendships#destroy