在 Rails 3.1 应用程序中,我想列出一堆我事先不知道的变量类对象(来自多态表)。对于那些具有命名路由的资源,我想在link_to
调用中使用该路由。不检查是否存在这样的路线的幼稚方法(请原谅 HAML):
%ul
- @objects.each do |object|
%li= link_to object, url_for(object)
undefined method 'foo_path'
如果对象是Foo
没有命名路由的类的实例(例如,因为它没有被定义为资源),这将引发错误。是否有一种简单的方法(例如简单的方法调用)来确定对象或类的命名路由是否存在?
编辑:
我想得到的是这样的:
%ul
- @objects.each do |object|
%li= link_to_if object.has_route?, object, url_for(object)