Я использую will_paginate gem для разбивки постов. И я хочу сделать бесконечный свиток. Я смотрю несколько видео и читаю пару сообщений, но это не совсем то, что мне нужно (из-за моей структуры приложения). Вы видите, home.html.erb (быть коротким), выглядит следующим образом:Will_paginate, render next page
<div class='news-lent'>
<%= render 'posts/posts_for_all', posts_variable: @posts %>
</div>
И мой _posts_for_all.html.erb (быть коротким), выглядеть (быть коротким):
<% posts_variable.each do |post| %>
<%= link_to post.theme, post %>
<% end %>
<% will_paginate posts_variable, :next_label => "More" %> # => i need it every
time the page is loaded
Я уже написал JS для всех, кроме одной линии:
$('.news-lent').append('<%= j render *some_thing* %>')
Ну, я не знаю, что перейти к визуализации. Я не могу передать мой @posts (он вернет ошибку (отсутствующие частичные сообщения/_post)) и @ posts.next_page (он вернет 2) и # {posts_path (@post)}? Page = # { @ post.current_page + 1} (но это тоже не работает) и другие проблемы.
Можете ли вы мне помочь, мне нужно что-то положить внутрь j render, чтобы она отображалась на следующей странице?
UPDATE
Я переработал все с RailCast видео, и точно так же, как @Szilard Magyar сказать мне делать, но теперь держать рендеринг же (первая страница) все время, и это не делает вторую страницу в все, что может создать такую проблему?
UPDATE
Follow railcast видео (переработанный мою структуру приложения), и новая проблема появляется:
Мой home.js.coffee:
jQuery ->
url = $('.pagination .next_page a').attr('href')
$(window).scroll ->
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').text("Fetching...")
$.getScript(url)
Мои index.js. erb:
$('.one').append('<%= j render @posts, posts_variable: @posts %>');
<% if @posts.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@posts) %>');
<% else %>
$('.pagination').remove();
<% end %>
<% sleep 3 %>
Мой индекс.html.erb:
<div class="news-lent">
<div class="one">
<%= render @posts, posts_variable: @posts %>
</div>
<div id="infinite-product-scrolling">
<%= will_paginate @posts, :next_label => " Еще" %>
</div>
</div>
Но теперь, когда I'am на первой странице и прокрутите вниз она делает вторую страницу, но 2x раз, и когда я снова прокрутки вниз и рендеринга второй страницы (это не делает третью страницу). Я не знаю, как это исправить, ты сможешь снова приземлиться?