рельсы 3, я могу создать маршрут, который включает в себя параметр URL? - PullRequest
1 голос
/ 25 марта 2011

у нас есть

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

mobilemethod принимает параметр URL ?find=true, который переводит его в «режим поиска»

есть ли способ добавить маршрут /f/:id, который будет вызывать mobilemethod с параметром url ?find=true

(или есть способ для метода узнать, какой маршрут был первоначально вызван, и в этом случае я мог бы просто сопоставить / m и / f одному и тому же методу, а затем внутри метода проверить, какой из них был вызван в URL )

Я пытался

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

и

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

но получите ошибки «неизвестного действия»

Ответы [ 2 ]

4 голосов
/ 25 марта 2011

Это должно сделать этот трюк:

match '/f/:id' => 'foo#mobilemethod', :defaults => {:find => true}
2 голосов
/ 25 марта 2011
match '/f/:id' => 'foo#mobilemethod'
                    ^       ^
             controller    action


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

представляет идентификатор параметра и находит

или вы хотите значение по умолчанию?

match '/m/:id' => 'foo#mobilemethod', :defaults => { :find => true }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...