我正在尝试在这里制作一条命名路线'have_many'其他命名路线。但是我这样做的方式不起作用。
这是我的问题: 我想通过/:platform_name /访问几个游戏平台。这是有效的:
map.platform ':platform_name',
:controller => :platforms,
:action => :index,
:platform_name => /pc|ps2|ps3|wii|ds|psp|xbox360/
但我也在每个平台内都有游戏,我想通过名字来引用,所以我试过了:
map.platform ':platform_name',
:controller => :platforms,
:action => :index,
:platform_name => /pc|ps2|ps3|wii|ds|psp|xbox360/ do |platform|
platform.games ':game_name',
:controller => :games
end
但是当我这样做时,即使平台路线也停止工作。 是否可以在其他命名路由中使用命名路由? 我只能想象一个脏代码来实现这个没有has_many关系。欢迎任何想法:)
答案 0 :(得分:1)
我不确定这是否是您想要的,但是通过2条命名路线嵌套呢?
map.platform ':platform_name', :controller => :platforms, :action => :index
map.games ':platform_name/:game_name', :controller => :games, :action => :show