Ruby on Rails - 在一个视图中对两个列表进行分页的正确方法

所以我想在一个页面上使用两次will_paginate插件。我的问题是,当我点击其中一个分页(@articles分页)时,它也会转到另一个分页(@comments分页)的下一页。Ruby on Rails - 在一个视图中对两个列表进行分页的正确方法

<div class="row"> 

<div class="span6">

<h3>Posted Articles (<%= @articles.count %>)</h3>

<ol class="user_articles">

<% @articles.each do |article| %>

<li>

<span class="content"><%= link_to article.title, article.content %></span>

<span class="timestamp">

Posted <%= time_ago_in_words(article.created_at) %> ago to <%= article.article_type %>.

</span>

<div>

<% if current_user?(article.user) %>

<%= link_to "delete", article, method: :delete,

data: { confirm: "You sure?" },

title: article.title %>

<% end %>

</div>

</li>

<% end %>

</ol>

<%= will_paginate @articles %>

</div>

<div class="span6">

<h3>Comments (<%= @comments.count %>)</h3>

<ol class="user_comments">

<% @comments.each do |comment| %>

<li>

<span class="content"><%= comment.content %></span>

<span class="timestamp">

Posted <%= time_ago_in_words(comment.created_at) %> ago to <%= link_to Article.find_by_id(comment.article_id).title, Article.find_by_id(comment.article_id) %>.

</span>

<div>

<% if current_user?(comment.user) %>

<%= link_to "delete", comment, method: :delete,

data: { confirm: "You sure?" },

title: comment.content %>

<% end %>

</div>

</li>

<% end %>

</ol>

<%= will_paginate @comments %>

</div>

</div>

我知道你可以指定一个:PARAM_NAME选项来告诉will_paginate要用于页码的参数的名字,但我不知道是什么:PARAM_NAME我应该为了使用它的工作。任何帮助将不胜感激!

编辑:

下面是我的看法用户控制器:

def show 

@user = User.find(params[:id])

@comments = @user.comments.paginate(page: params[:page], :per_page => 20)

@articles = @user.articles.paginate(page: params[:page], :per_page => 20)

end

回答:

:param_name应该像:articles_page:comments_page,在每个分页报表的规定。

以上是 Ruby on Rails - 在一个视图中对两个列表进行分页的正确方法 的全部内容, 来源链接: utcz.com/qa/257633.html

回到顶部