是否有可能通过资源丰富的路线来做到这一点?

时间:2013-01-09 14:49:19

标签: ruby-on-rails routing

在我的模型中有属于某个地方的住宿。使用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显示地方索引视图。我希望这些网址可以作为他们所代表的东西的某种门户网站。

那么,我应该放弃资源丰富的路线吗?或者有解决方案吗?

感谢。

0 个答案:

没有答案