在我的rails app中,我有推车控制器的路线:
resources :carts
所以在布局中,根据我的逻辑,我有:
= link_to "Моя корзина", @cart
在浏览器中我看到例如:
******:3000/carts/112
然而,我可以将嵌套的rails路由显示为类似帖子的请求吗?所以我会:
******:3000/carts/
也耙路线:
arts GET /carts(.:format) carts#index
POST /carts(.:format) carts#create
new_cart GET /carts/new(.:format) carts#new
edit_cart GET /carts/:id/edit(.:format) carts#edit
cart GET /carts/:id(.:format) carts#show
PUT /carts/:id(.:format) carts#update
DELETE /carts/:id(.:format) carts#destroy
cart POST /carts/:id(.:format) carts#show
我现在如何为自己的方法编写它...但是如何使用内置节目?
我需要更改show route,因此show的id不是通过url发送为get-param,而是作为请求中的post-param ...
答案 0 :(得分:1)
答案 1 :(得分:1)
resources
方法只是放入一堆预定义的路由,如here所述。
具体来说,它正在添加等效的
get '/carts/:id' => 'carts_controller#show'
post '/carts' => 'carts_controller#create'
...
如果您想使用其他一组路线,请不要使用resources
,而只是定义您自己的路线。
此外,您无法通过这种方式向用户隐藏购物车ID。如果请求包含ID,则表示用户可以看到它。他可能不得不使用Firebug或通过查看页面源而不是他的地址栏来查看它,但它仍然不是秘密或以任何方式受到保护。
答案 2 :(得分:-1)
只需在您的控制台中运行rake routes
,然后查看您拥有的路线。
您还可以在http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions
了解有关RESTful路线的更多信息