Rails 4嵌套路由

3

routes.rb

Rails.application.routes.draw do
  root to: 'visitors#index'
  
  resources :states do
    resources :cities do
      get 'listings'
    end
  end

end

我希望设置我的 GET URL 如下所示:../state.id/city.id/listings.id

我正在使用 friendly_id ,因此URL将会像这样:

../OR/Portland/2011-ford-truck

看起来你真正想要的是三重嵌套路由,而不是使用 get 'listings',尝试使用 resources :listings,这将给你 "../state.id/city.id/listings.id"。 - Pierre
1个回答

3

在这种情况下,列表本身也是一个模型(资源)。您还需要为列表创建一个resources。如果它只有一个show操作,可以像这样限制它:

resources :states do
  resources :cities do
    resources :listings, only: [:show]
  end
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接