Problem: using will_paginate with Ajax

I want to use pagination with ajax. I have used will_paginate then add code to support ajax pagination. I have tried with partial with when I use the code in index.html.erb <div id="container">   <%= render :partial => 'contents' %> </div>

Partial view: _contents.html.erb <%= will_paginate @collection, :renderer => 'RemoteLinkRenderer', :remote => {:update => 'container'} %>

in controller the index action : respond_to do |format|       format.html { render :partial => 'container' }       format.xml { render :xml => @posts }     end

and I am using the index action in the controller. It just show only the partial not the total page with the partial display.

Please help me

In my controller, I have:

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @documents }
  format.js do
    render :update do |page|

      page.replace_html('documents_table',
                        :partial => 'documents_table',
                        :locals  => {:documents => @documents})
    end

  end
end

In index.html.erb, I have

<%= render :partial => 'documents_table', :locals => {:documents => @documents} %>

That way, when I first render the page, I get the total page, but when I click on the page number links I just update the div with the data.

Hope this helps.

–wpd

Patrick Doyle wrote:

In my controller, I have:

    respond_to do |format|       format.html # index.html.erb       format.xml { render :xml => @documents }       format.js do         render :update do |page|           page.replace_html('documents_table',                             :partial => 'documents_table',                             :locals => {:documents => @documents})         end       end     end

In index.html.erb, I have

<div id="documents_table">   <%= render :partial => 'documents_table', :locals => {:documents => @documents} %> </div>

hi Patrick Doyle,                  Thx for you reply.I have tried according to your code but it don't display result but shows the javascript code with the result. Below is the javascript that output in the html page when I click the next link.

try { Element.update("votedtop20", " \n\n\n\n\n \n \n \n hjbnj\n \n \n \n \n\n"); } catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"votedtop20\", \" \\n\\n\\n\\n\\n \\n \\n \\n hjbnj\\n \\n \\n \\n \\n\\n\");'); throw e }

Please help me.Thx in advance. Amin

Golly, I don’t know. I would guess that if you are seeing javascript in your browser, then somehow you are not responding to a javascript request, but I really don’t understand enough of how things work “under the hood” to know how that might happen.

–wpd