rails 3,我可以创建一个包含url param的路由吗?

时间:2011-03-25 17:50:00

标签: ruby-on-rails url routes

我们有

match '/m/:id' => 'foo#mobilemethod'

mobilemethod接受将其置于“查找模式”的网址参数?find=true

有没有办法添加一条路线/f/:id,它会使用网址参数?find=true调用mobilemethod

(或者,有没有办法让方法知道最初调用WHICH路由,在这种情况下我可以简单地将/ m和/ f映射到同一个方法然后在方法内检查哪个在url上调用)

我试过

match '/f/:id' => 'foo#mobilemethod?find=true'

match '/f/:id' => 'foo#mobilemethod/:id?find=true'

但获取'未知动作'错误

2 个答案:

答案 0 :(得分:4)

这应该做到这一点:

match '/f/:id' => 'foo#mobilemethod', :defaults => {:find => true}

答案 1 :(得分:2)

match '/f/:id' => 'foo#mobilemethod'
                    ^       ^
             controller    action


match '/f/:id/find/:find' => 'foo#mobile_method'

显示params id并找到

或者你想要一个默认值?

match '/m/:id' => 'foo#mobilemethod', :defaults => { :find => true }