В приложении 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)