map.resource, ограничения параметров - PullRequest
1 голос
/ 08 марта 2010

У меня есть контроллер: платформа здесь.

Я пытаюсь сделать что-то вроде:

/: имя_платформы / для перенаправления на его шоу с параметром. Вот что у меня есть:

map.resource :platform,
               :as => ':platform_name',
               :platform_name => /pc|ps2|ps3|wii|ds|psp|xbox-360/

Работает нормально. У меня есть другие необходимые ресурсы, и все они получают доступ. Но. Проблема в том, что у меня есть только те названия платформ, но когда он не подходит для другого маршрута, он всегда падает на это. если я попытаюсь / что угодно / , оно будет искать имя_платформы => что бы то ни было .

Я ожидал, что он попадет в правило map.connect ': controller /: action /: id'.

Когда я сделал : имя_платформы => / pc | ps2 | ps3 | wii | ds | psp | xbox-360 / , не ожидалось, что это правило применяется только тогда, когда регулярное выражение подходит?

как я могу ограничить это?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2010

Может быть, вы могли бы попробовать

:requirements => { :platform_name => /pc|ps2|ps3|wii|ds|psp|xbox-360/ }

или

:conditions => { ... }

ActionController :: Ресурсы # ресурсы

0 голосов
/ 08 марта 2010

Попробуйте изменить:

/pc|ps2|ps3|wii|ds|psp|xbox-360/

до

/^(pc|ps2|ps3|wii|ds|psp|xbox-360)$/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...