Используйте строку с косой чертой в качестве одного параметра в rout.rb - PullRequest
2 голосов
/ 09 ноября 2010

Извините за этот запутанный заголовок :) У меня есть ресурс ComatosePage (используется в плагине comatose cms), в котором есть таблица comatose_pages с полем 'full_path', в котором есть значения, подобные этим: "en/home/logged-in/subscriber/school-top" для настройки маршрут, чтобы я мог использовать это поле full_path для загрузки ComatosePage из БД вместо стандартного поля id, чтобы этот URL:

/comatose_admin/en/home/logged-in/subscriber/school-top

загружает действие редактирования контроллера comatose_admin, передавая все после comatose_admin / through в качестве параметра, т.е. генерирует это для рельсов:

Parameters: {:controller => "comatose_admin", :action => "edit", :full_path => "en/home/logged-in/subscriber/school-top"}

Сложность заключается в том, что строка разбита косыми чертами, что, по-моему, приведет к путанице в маршрутах. Могу ли я настроить маршруты, чтобы взять все после "comatose_admin /" и поместить его в один параметр?

1 Ответ

3 голосов
/ 09 ноября 2010

Вы можете использовать подстановочные знаки в ваших маршрутах, которые будут соответствовать прямой косой черте.Попробуйте что-то вроде этого:

"/comatose_admin/*full_path"

Тогда params[:full_path] должен содержать остаток пути запроса.

См. Маршрутизация Globbing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...