0

我有一个 office_listing 模型,它有一个 community_id 和一个 city_id。由于列表模型需要创建两个 id,因此我设置了以下路由:

resources :cities do
  resources :neighborhoods do
    resources :office_listings

这是我知道如何将邻里和城市 ID 的上下文提供给“新”控制器操作的唯一方法。当用户已经从邻居/城市导航到创建列表页面时,我不想强​​迫用户从表单中选择社区和城市。没有这么长的网址(neighborhood/id/city/id/office_listing/new),有没有其他方法可以将这样的上下文传递给新页面?我计划添加一个需要办公室列表 ID 的查看,所以事情只会变得更加冗长。

4

1 回答 1

0

您可以添加shallow: true以减少网址的长度。它不能解决嵌套可能带来的问题,但它确实清理了您的路线。

resources :cities, shallow: true do
  resources :neighborhoods do
    resources :office_listings

这也是你不能混的东西。所以你不能有一些很浅的路线,而另一些则不是很浅的路线。这是一个全有或全无的条件。

于 2013-08-01T18:26:37.143 回答