2009-08-06 3 views
1

Есть ли способ заполучить маршрут, распознанный рельсами, заданный дорогой?Рельсы: распознанный маршрут

Текущая реализация рельсов в методах «распознавание_пата» & & «распознать» возвращает только хэш с: контроллером,: действием и: id (если доступно) и любыми другими атрибутами URL. Но я хотел бы получить объект маршрута (с помощью ActionController :: Routing :: Routes.routes), который рельсы сравнивает путь.

Заранее спасибо.

+0

Не могли бы вы предоставить немного больше информации о том, почему вы хотите это сделать? Возможно, у вас будет другое решение проблемы. –

+0

Что именно вы пытаетесь сделать? И то, что сказал он. –

+0

Извините за задержку в моем ответе, я был вне города. Насколько я хочу получить объект маршрута, а не только контроллер и действие для текущего запроса, я хочу, чтобы я создал навигацию с использованием маршрутов. Если я знаю текущий объект, я мог бы расширить классы RouteSet и Route, добавив некоторые методы, такие как предки, родительский, дочерний, дочерний, для маршрута и получить элементы навигации, такие как панировочные сухари, вкладки, ... Если это неясно, позвольте мне знаю, я постараюсь предоставить некоторые варианты использования. – Dharam

ответ

0

Вы можете использовать соответствующие части #recognize_path, чтобы получить на объекте Маршрут:

req = @request_class.new(env) 
@router.recognize(req) { |route, matches, params| ... } 

Это даст вам Journey::Route объект.

Следует учитывать, что это лучший способ сделать это, если все, что вы хотите сделать, это генерировать панировочные сухари. Я не уверен, что вы сможете проверить объект маршрута для получения достаточной информации, чтобы автоматически создавать панировочные сухари.

Смежные вопросы