2013-05-07 1 views
0

Я следил за несколькими учебниками, которым пока не повезло. Я использую ajax_pagination. когда я нажимаю ссылку на вторую страницу, это то, что говорит журнал сервера: Начато GET "/? page = 2 & = 1367953277288" для 127.0.0.1 в 2013-05-07 14: 05: 49-0500
Обработка по адресу AddressController # index as JS Параметры: {"page" => "2", "
" => "1367953277288"} Адресная нагрузка (0,9 мс) ВЫБОР «адресов». * ОТ «адресов» ПРЕДЕЛ 5 СМЕЩЕНИЕ 5 Оказываемые адреса/_addresses.html.erb (6.7ms) Оказываемые адреса/index.html.erb (8.4ms) Завершено 200 OK в 10мс (Просмотров: 9.0ms | ActiveRecord: 0.9ms)как я могу заставить will_paginate работать с ajax?

так это что запрос правильный, howev на странице ничего не меняется. Вот мой код для частичного _addresses:

<%= ajax_loadzone do %> 
<% @addresses.each do |address| %> 
blah blah 
<%end%> 

<%= ajax_links :section_id => 'page' do %> 
<%= will_paginate @addresses %> 
<% end %> 

контроллер: ajax_respond формата: SECTION_ID => "страница", воздайте => "адрес"

вид

индекса: <% = ajax_section: id => 'page',: render => 'addresses'%>

Это еще не мой код, а соответствующие биты.

+0

Я тоже борюсь за ту же проблему, какой ресурс вы использовали? Railscast мой, я следую шагу, но на этом этапе мое приложение просто может следовать тому, что сказал Райан Бэйтс. Разница в моем коде и его коде была на 'live''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' и '' '' '' '' ' – ksugiarto

ответ

0

Пожалуйста, CMIIW, я нашел решение по моей проблеме, настроив разбивку на страницы jQuery, в то время как повторно отображает раздел, который мы хотим отобразить.

application.js На:

jQuery.ajaxSetup({ 
    'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")} 
}) 

$.fn.ajaxPagination = function() { 
    this.on("click", function() { 
    $.get(this.href, null, null, "script"); 
    return false; 
    }); 
} 

$(document).ready(function() { 
    $(".pagination a").ajaxPagination(); 
}) 

На controller:

def index 
    @addresses = Address.pagination(params[:page]) 

    respond_to do |format| 
    format.html # index.html.erb 
    format.json { render json: @order_requests } 
    format.js 
    end 
end 

model На:

def self.pagination(page) 
    paginate(:per_page => 5, :page => page) 
end 

На скажем index.js.erb:

$('#page').html("<%= escape_javascript(render('addresses')) %>"); 
$(".pagination a").ajaxPagination(); 

И так далее, пожалуйста, исправьте меня, если я ошибаюсь, спасибо.