我有 http://localhost:3001/items/product1,如何添加到文件路径以使其 http://



我想将/prices添加到http://localhost:3001/items/product1/,所以我有http://localhost:3001/items/product1/prices.我已经在产品 1 的项目控制器中有了逻辑,我也想在/price 中使用。

如何添加此路由?这种类型的路由在 https://guides.rubyonrails.org/routing.html 中叫什么?我对那里的路由文档数量感到迷茫和困惑。

您要查找的是成员 (https://guides.rubyonrails.org/routing.html#adding-member-routes( 上的自定义路由。

您应该能够通过添加嵌套在items资源中的get路由来执行类似的事情

resource :items do
get 'price', on: :member
end

在这里,价格将是项目控制器上的一种方法,它将获取包含相关数据的价格页面

只需添加一个新路由:

match '/items/product1/prices', to: 'controller#action', via: :post

get '/items/product1/prices', to : 'controller#action'

要将其呈现为新页面,您可以redirect_to 'path'满足的条件。 这是假设您将多个路由定向到一个操作。 你不应该这样做。

最新更新