Rails: определить, есть ли у объекта именованный маршрут

В приложении Rails 3.1 я хочу перечислить кучу объектов переменного класса (из полиморфной таблицы), чего я не делаю. т знать заранее. Для ресурсов с именованным маршрутом я бы хотел использовать этот маршрут в вызове link_to. Наивный подход без проверки существования такого маршрута (извините за HAML):

%ul
- @objects.each do |object|
  %li= link_to object, url_for(object)

Это вызовет ошибку неопределенного метода 'foo_path', если объект является экземпляром класса Foo, который не имеет именованного маршрута (например, потому что он не определен как ресурс). Есть ли простой способ (например, простой вызов метода) определить существование именованного маршрута для объекта или класса?

РЕДАКТИРОВАТЬ:

Я хотел бы получить что-то вроде этого:

%ul
- @objects.each do |object|
  %li= link_to_if object.has_route?, object, url_for(object)
5
задан Thilo 19 June 2012 в 08:31
поделиться