У меня есть модель комментария, в которой посты под микросообщением разбиты на страницы и обе отображаются на одной странице.
Я сделал все с http://railscasts.com/episodes/174-pagination-with-ajax?view=asciicast и все должно работать, но проблема в том, что и micropost, и commet разбиты на страницы и оба находятся на одной странице.
Ссылки для обеих страниц делятся на href="/users/2?page=2"
, а не href="/users/2/micropost?page=2"
или href="/users/2/comment?page=2"
.Я не уверен, как решить эту проблему.Вот некоторые из моего кода.Все предложения очень ценятся!
Микропост визуализации HTML
<table class="microposts">
<% if microposts.any? %>
<%= render microposts %>
<%= will_paginate microposts, :page_links => false %>
<% else %>
<div class="EmptyContainer"><span class='Empty'>Add a thread!</span></div>
<% end %>
</table>
Раздел комментариев HTML
<div id='CommentContainer-<%= micropost.id%>' class='CommentContainer Condensed2'>
<div class='Comment'>
<%= render :partial => "comments/form", :locals => { :micropost => micropost } %>
</div>
<div id='comments'>
<% comments = micropost.comments.paginate(:per_page => 5, :page => params[:page]) %>
<%= render comments %>
<%= will_paginate comments, :class =>"pagination" %>
</div>
</div>
Пользовательский контроллер для страницы показа
def show
@user = User.find(params[:id])
@comment = Comment.find(params[:id])
@micropost = Micropost.new
@comment = Comment.new
@comment = @micropost.comments.build(params[:comment])
@comments = @micropost.comments.paginate(:page => params[:page], :per_page => 5)
@microposts = @user.microposts.order('created_at DESC').paginate(:per_page => 10, :page => params[:page])
respond_to do |format|
format.html
format.js
end
end