如何将“新”资源转化为发布并获取?

ruby-on-rails ruby routing

40 观看

2回复

808 作者的声誉

我希望能够在新资源路线上进行发布请求,但遇到了麻烦。目前我的routes.rb档案中有这个

resources :shipments, only: [:new] do
end

我试着post :new在块之间插入,但这给了我

shipments POST /:slug/shipments(.:format) shipments#new

但是我想要这个

new_product_shipment GET|POST /:slug/shipment/new(.:format)

作者: adang3 的来源 发布者: 2017 年 9 月 15 日

回应 2


0

803 作者的声誉

您可以这样做:

resources :orders, only: [:new] do
  collection do
    post 'new'
  end
end

但是,顺便说一句,将两种方法同时执行一次是非常奇怪的决定。

作者: unkmas 发布者: 2017 年 9 月 15 日

0

32404 作者的声誉

由于您没有RESTful路由,因此不需要resources阻塞,请match在的顶级使用routes.rb

match '/:slug/shipment/new', to 'shipments#new', via: [:get, :post]
作者: Зелёный 发布者: 2017 年 9 月 15 日
32x32