我知道我可以这样做来建立一个带URL参数的链接:
<%= link_to 'Widget from Something',
admin_widget_path(@widget, from: :something) %>
有没有办法实现这一点,同时也将数组作为第二个参数而不是_path
助手传递?
例如,我将添加哪些内容以便像第一个示例中那样将?from=something
添加到网址中?
<%= link_to 'Widget from Something', [:admin, @widget] %>
答案 0 :(得分:4)
您可以通过添加网址的散列 作为link_to
数组的最后一个元素:
link_to 'Widget from Something', [:admin, @widget, { from: :something }]
证据就在于Rails来源:link_to
调用url_for
,在传入数组参数的情况下,执行从数组中提取选项通过调用数组上的extract_options!
method。此方法是Array类的ActiveSupport扩展,具有以下文档字符串:
从一组参数中提取选项。如果它是一个哈希值,则删除并返回数组中的最后一个元素,否则返回一个空白哈希值。