rails route string concat方法

时间:2014-04-09 06:50:39

标签: ruby-on-rails ruby helper

我有路线...... foo_pathfoo_bar_pathlink_to中的简单助手。

在同一个链接中,我正在尝试定义两个不同的路径......

@foo可能属于班级Foo,也可能属于班级FooBar。它是多态的。所以,我想通过某种@foo.class.name.underscore调用来构建路径,以预先添加到_path

我不能用link_to 'foo', "/#{@foo.class.name.underscore}/:id"原始发送它,因为我必须用它发送一些参数,所以只使用路由助手工作。除非你知道如何用那个bugger发送params ......这可能会简化一些事情。

这有意义吗?

1 个答案:

答案 0 :(得分:1)

Rails将从对象类型推断路径名称。如果您传递Foo对象,则会使用foo_path。如果您传递FooBar对象,则会使用foo_bar_path

<%= link_to 'foo', foo %>

假设fooFooFooBar对象之一。

我在名为"Polymorphic Routes"的博文中深入介绍了这一点。