Мне нужно определить количество ключей сегмента маршрута в текущем пути для приложения, над которым я работаю, и, несмотря на некоторое копание в связанных исходных файлах Rails 3, я не могу понять это.
Я знаю, как использовать url_for
и request
, чтобы построить путь из текущего маршрута, но я не знаю, как на самом деле добраться до ActionController::Routing::Route
, который отображается на маршрут url_for
.с помощью.Если я могу получить экземпляр нужного мне маршрута, я могу просто вызвать Route # сегмент_ключей и получить то, что мне нужно.
Если кому-то интересно, я делаю это потому, что могу переключаться между ресурсамис раскрывающимся списком и остаться в текущем представлении, которое применяется к выбранному в данный момент ресурсу, но , только если текущий путь не содержит вложенных путей (т. е. переключение с /resources/1/edit
на /resources/2/edit
, но не переключайтесь между /resources/1/subresources/1
на /resources/2/subresources/1
, потому что subresource
номер 1 не является потомком resource
2).