Rails link_to与params和anchor

时间:2016-05-18 13:54:34

标签: ruby-on-rails erb

我的产品索引页面上有以下link_to,它基本上使用:tag参数重新加载当前页面。这很好用。但是,当我包含anchor属性时,页面不再重新加载,用户只会被带到页面内的锚点(页面不会使用给定的:tag参数重新加载)

<%=  link_to('Foo',
          products_path(:tag => 'bar', anchor: 'foo-anchor'),
          class: 'btn black-btn')
%>

当我检查链接时,href看起来像domain.com/products?tag=bar#foo-anchor。这似乎很好,但是因为我认为我已经在domain.com/products上页面没有刷新,它只会带你到锚点。如何使用给定的param重新加载页面,然后将用户带到锚点?

1 个答案:

答案 0 :(得分:0)

这就是HTML链接的工作方式。如果您有一个链接指向当前页面上的锚点,则页面不会重新加载,只需滚动到锚点位置即可。如果您想强制重新加载页面,可以在点击链接时致电window.location.reload(); - 例如在链接中添加一些类并添加一个单击处理程序,如下所示:

$('a.force-reload').on('click', function(){ 
  window.location.href = $(this).attr('href');
  window.location.reload();
});