如何将一个“新”资源变成帖子并获得?
问题描述:
我希望能够在我的新资源路线上发布帖子请求,并遇到问题。目前我有这在我的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)
答
你可以这样做:
resources :orders, only: [:new] do
collection do
post 'new'
end
end
但是,顺便说一句 - 这是非常奇怪的决定,有两种方法的单一行动。
答
因为你还没有一个RESTful的路线,你不需要resources
块,对routes.rb
顶层用match
:
match '/:slug/shipment/new', to 'shipments#new', via: [:get, :post]
该结束了给我'出货量POST /:蛞蝓/发货(。 :格式)出货#new',无论如何只是将它与新的?或者我应该只使用match和'via:[:get,:post]完成一条新路线' – cvDv
@cvDv你使用'post'new''而不是'post:new'?当然,你可以使用match来实现同样的事情,我只是更喜欢第一种形式。 – unkmas