Я использую will_paginate 3.0.pre2 для пагинации в рельсах 3
Простая нумерация страниц без ajax работает нормально, но когда я пытаюсь сделать ссылки доступными, они не работают. Когда я нажимаю на номера страниц, ничего не происходит.
У меня есть статья и модель комментария. Модель комментария имеет полиморфную связь со статьей и форумом Для комментариев я использую нумерацию страниц.
Контроллер статей - где я добавил требуемый код нумерации страниц:
def show
@article = Article.find(params[:id])
@comments = @article.comments.paginate(:per_page => 5, :page => params[:page])
@commentid = @article.id
@commenttype = @article.class
respond_to do |format|
format.html # index.html.erb
format.js
end
end
Комментарии Контроллер:
def index
@comments = Comment.all..paginate(:per_page => 5, :page => params[:page])
respond_to do |format|
format.html # index.html.erb
format.js
end
end
def show
@comment = Comment.find(params[:id])
end
application.js:
$("#comments_pagination .pagination a").live("click", function() {
$.get("/articles/?"+this.href.split("?")[1], null, null, "script");
return false
});
comments / index.html.haml:
%hr
%h2 Say something!
= form_for([@commentable,Comment.new], :remote => true) do |f|
= f.label :commentcontent, "Comment here:"
= f.text_field :commentcontent
= f.hidden_field :user_id, :value => @current_user.id
= f.hidden_field :commentable_id, :value=> @commentid
= f.hidden_field :commentable_type, :value=> @commenttype
= f.submit "Add comment"
#addcomment
= render :template => 'comments/_pagelink'
_pagelink.html.haml:
#comments_pagination
= will_paginate(@comments,:renderer => RemoteLinkRenderer)
%h1 All comments
#comments
= render :partial=>@comments,:locals=>{:list=>true}
remote_link_renderer:
class RemoteLinkRenderer < WillPaginate::ViewHelpers::LinkRenderer
def link(text, target, attributes = {})
attributes["data-remote"] = true
super
end
end
index.js.erb:
$("#addcomment").html("<%= escape_javascript(render :template => 'comments/_pagelink') %>");