2017-07-16 33 views
1

我已经生成了一个脚手架模型carRails 5 - 如何为脚手架路线添加前缀?

因此,如果我想创建一辆新车,该URL看起来像这样:/cars/new。我需要将其他信息传递给URL,最简单的方法是将其最终添加为参数,因此该URL看起来像/cars/new?listing=123

我想要做的是在URL:/l/123/cars/new(l = listing)中得到类似的内容。同其他的操作,以及(如:/l/123/cars/4/edit

如何做我需要修改路线这样的例子吗?listing是另一种模式,每listing有车。

谢谢

+0

您已经写过查询参数应该是最简单的方法。你为什么试图避免它们?你在优化什么? – spickermann

回答

0

AFAIK,你不能足智多谋的方式实现这一目标。你必须定义非足智多谋途径来实现你想要的。例如,对于cars#new的路线将像下面定义

​​
0

我认为你可以使用嵌套的资源:

resources :listings do 
    resources :cars 
end 

它会产生这样listings/:listing_id/cars/:id路线。如果您没有listings控制器,或者您不想为其生成路由,只需使用resources :listings, only: [] do ...