在 Rails/Middleman 应用中向 URL 添加任意字符串

Add arbitrary string to URLs in Rails/Middleman app

我正在使用中间人生成静态网页。我需要向所有 url 添加一个一致但易于理解的字符串,以便我可以了解用户如何在页面上导航。 现在我这样做

<% link_to '/'+?button=navigation , class: 'logotype', itemprop: 'url' do %> 
  ...
<% end %>

我宁愿不必手动添加所有参数,而是只使用已经存在的东西,比如范围或其他东西。例如,我正在考虑使用模板文件的名称。 url 不够独特。

有什么建议吗?

执行此操作的标准方法是编写一个封装您的功能的辅助方法:

 <%= link_to_as_nav('/', class: 'logotype', ...) do %>
   ...
 <% end %>

然后写一个辅助方法:

 def link_to_as_nav(url, options)
    link_to(url + '?button=navigation', options)
 end

这是一种天真的方法,不会考虑已添加参数的 url 参数,但这是您可以解决的问题。