是否可以将锚标签添加到kaminari网址?

时间:2012-01-10 17:27:50

标签: ruby-on-rails kaminari

我在Rails 3.1.3上使用kaminari插件进行分页

我希望我的URL在末尾有锚标签,因为我需要选择我的jQuery选项卡

对于Ex:

当前网址:http://mysite.com/users/index/2

我想要的是:http://mysite.com/users/index/2#users

如何将此锚标记附加到我的网址中?有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

只需修改app/views/kaminari处的模板即可。例如,这里是_page.html.haml

= link_to_unless page.current?, page, url, {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil}

您可以像这样添加锚标记(注意url参数):

  = link_to_unless page.current?, page, "#{url}#anchor_1", {:remote => remote, :rel => page.next? ? 'next' : page.prev? ? 'prev' : nil}

答案 1 :(得分:0)

我遇到了同样的问题(使用jQuery标签),在查看了Kaminari的文档之后,我找不到解决方案。但是,这就是我解决它的方法。

在视图中,我将 paginate 方法包含一个div(此处为slim语法),该div具有类“add-anchor”和数据属性“data-name”,其锚名称为value(示例中为#anchor):

.add-anchor data-name="anchor"
  = paginate @items

我们的想法是使用jQuery以编程方式将锚添加到div onDocumentReady中的每个链接:

$(document).ready(function() { 

  var addAnchor;
  addAnchor = $('.add-anchor');

  // For each paginate method
  addAnchor.each(function() {

    var $name;
    $name = $(this).data().name;

    // For each paginate link
    return $(this).find('a').each(function() {

      var href;
      href = $(this).attr('href');

      // Add the anchor at the end
      return $(this).attr('href', href + "#" + $name);
    });

  });

});

希望它有所帮助。