我已经开始了这个问题Named route with nested resources,它引导我进入这个新问题。
我在路线中定义了一条命名路线:
map.game ':platform_name/:game_name',
:controller => :games,
:action => :index,
:platform_name => /pc|ps2|ps3|wii|ds|psp|xbox360/
好的,所以它会期望2个参数:platform_name和:game_name对吗?
但是,这就是发生的事情:
game_path(:platform_name => object.platform.search_name, :game_name => object.game.search_title)
我明白了:
game_url failed to generate from {:platform_name=>"xbox-360", :action=>"index", :game_name=>"jose-cuervo", :controller=>"games"}, expected: {:action=>"index", :controller=>"games"}, diff: {:platform_name=>"xbox-360", :game_name=>"jose-cuervo"}
他拒绝我的论点......
通过它们的正确方法是什么?
感谢
答案 0 :(得分:3)
不是因为你有:platform_name => "xbox-360
,但在命名路线中你有xbox360
?