will_paginate 通过个人用户帖子

will_paginate throug Individual Users Posts

我希望我的用户能够通过他们自己的帖子(安排电子邮件)进行分页。提前感谢任何可以帮助或引导我朝着正确方向前进的人!

电子邮件有不同的类别,计划的和待定的。我的电子邮件模型中有两个范围。

email.rb
scope :pending, -> { where(email_pending: true) }

scope :approved, -> { where(email_pending: false) }

我正在使用设计来组织用户。在我的用户控制器中,我有 users#show 操作,我正在像这样提取用户的电子邮件。

users_controller.rb
def show
    @emails = @user.emails
end

然后在我看来,我会像这样列出每个类别的电子邮件。

users#show
<% @user.emails.approved.each do |email| %>
-----Stuff------
<% end %>
Same thing goes for pending.

所以,为了分页(使用 will_paginate)我试过了。

users_controller.rb
@emails = @user.emails.approved.paginate(page: params[:page], per_page: 5)

并在我添加的视图中。

users#show
<%= will_paginate @user.emails.approved %>

我还尝试了一些其他的东西,但这几乎只是猜测和反复试验……没有任何效果。

再次感谢您的帮助!如果有人需要我提供更多信息,请告诉我。

-克雷默

如果在 users_controller 的显示方法中有

@emails = @user.emails.approved.paginate(page: params[:page], per_page: 

在视图中,您需要使用您创建的 @emails

<% @emails.each do |email| %>
 ..... 
<% end %> 

<%= will_paginate @emails %>

因为通过访问 @user.emails.approved 你看到的不是分页版本,而是原始的活动关系。