Rails link_to / form_for / etc。带有用于路径和URL查询参数的数组

时间:2017-04-14 21:35:20

标签: ruby-on-rails

我知道我可以这样做来建立一个带URL参数的链接:

<%= link_to 'Widget from Something',
            admin_widget_path(@widget, from: :something) %>

有没有办法实现这一点,同时也将数组作为第二个参数而不是_path助手传递?

例如,我将添加哪些内容以便像第一个示例中那样将?from=something添加到网址中?

<%= link_to 'Widget from Something', [:admin, @widget] %>

1 个答案:

答案 0 :(得分:4)

您可以通过添加网址的散列 作为link_to数组的最后一个元素

link_to 'Widget from Something', [:admin, @widget, { from: :something }]

证据就在于Rails来源:link_to调用url_for,在传入数组参数的情况下,执行从数组中提取选项通过调用数组上的extract_options! method。此方法是Array类的ActiveSupport扩展,具有以下文档字符串:

  

从一组参数中提取选项。如果它是一个哈希值,则删除并返回数组中的最后一个元素,否则返回一个空白哈希值。