Можно ли добавить якорные теги к URL-адресам Kaminari? - PullRequest
0 голосов
/ 10 января 2012

Я использую плагин kaminari для разбивки на страницы в Rails 3.1.3

Я хочу, чтобы у моего URL были привязанные теги на концах, так как мне нужно будет выбрать вкладку jQuery

Для:

Текущий URL: http://mysite.com/users/index/2

Что я хочу: http://mysite.com/users/index/2#users

Как я могу добавить этот тег привязки в мой URL?Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

1 голос
/ 10 января 2012

Просто измените шаблоны на 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}
0 голосов
/ 05 апреля 2012

У меня возникла та же проблема (с вкладками jQuery), и после просмотра документа Каминари я не смог найти решение.Однако вот как я это решил.

В представлении я обернул метод paginate с div (здесь тонкий синтаксис), имеющим класс "add-anchor" и атрибут данных "data-name "с именем привязки в качестве значения (здесь #anchor в примере):

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

Идея состоит в том, чтобы программно добавить привязку к каждой ссылке в div onDocumentReady с помощью jQuery:

$(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);
    });

  });

});

Надеюсь, это поможет.

...