我非常喜欢多态风格的url,所以我可以写
link_to 'New taste', [:new, :taste]
而不是
link_to 'New taste', new_taste_path
但是可以在不使用polymorphic_url
/ polymorphic_path
的情况下向第一个添加查询参数吗?
答案 0 :(得分:11)
没有。将数组传递给这些方法(link_to
,redirect_to
等)时,url参数将直接传递给url_for
,polymorphic_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']