在我的模型中有属于某个地方的住宿。使用friendly_id我的资源丰富的路线将如下所示:
/localities
/localities/:locality-name
/accommodations
/accommodations/:accommodation-name
问题是我希望住宿详细信息网址如下:
/accommodations/:locality-name/:accommodation-name
并且还有住宿的位置过滤器:
/accommodations/:locality-name
当然,我可以将以下内容添加到routes.rb
:
resources :localities do
resources :accommodations
end
......这将导致:
/localities/:locality-name
/localities/:locality-name/accommodations
/localities/:locality-name/accommodations/:accommodation-name
但我希望住宿以/accommodations
开头,而不是嵌套在地方。
我最接近的是修改上述内容:
resources :localities, :path => 'accommodations' do
resources :accommodations, :path => '', :except => :index
end
这就是我想要的,但是把事情颠倒过来,有点混乱我的资源。此外,我可以将resources :localities, :path => 'localities'
添加到routes.rb
,但随后会为/localities
和/accommodations
显示地方索引视图。我希望这些网址可以作为他们所代表的东西的某种门户网站。
那么,我应该放弃资源丰富的路线吗?或者有解决方案吗?
感谢。