rails polymorphic url params

时间:2010-09-28 18:45:15

标签: ruby-on-rails

我非常喜欢多态风格的url,所以我可以写

link_to 'New taste', [:new, :taste]

而不是

link_to 'New taste', new_taste_path

但是可以在不使用polymorphic_url / polymorphic_path的情况下向第一个添加查询参数吗?

2 个答案:

答案 0 :(得分:11)

没有。将数组传递给这些方法(link_toredirect_to等)时,url参数将直接传递给url_forpolymorphic_path本身使用单个参数调用polymorphic_path。正如你所说polymorphic_path允许params作为第二个参数传递,但它们不能像第一个参数那样传递。

为了传递参数并使用多态路由,您必须使用polymorphic_url / link_to 'New taste', polymorphic_path([:new, :taste], :spiciness => :on_fire) ,如下所示:

{{1}}

答案 1 :(得分:3)

是的 - 您可以这样传递:

link_to 'New taste', [[:new, :taste], :a_param => 'param']