will_paginate通过个人用户帖子

时间:2015-03-31 17:46:37

标签: ruby-on-rails devise will-paginate

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

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

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

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

我使用设计来组织用户。在我的用户控制器中,我有用户#show action,我就像这样拉动用户的电子邮件。

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 %>

我还尝试了其他一些事情,但这只是猜测和反复试验......没有用。

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

-Kraymer

1 个答案:

答案 0 :(得分:0)

如果你在users_controller的show方法中有

@emails = @user.emails.approved.paginate(page: params[:page], per_page: 
<\ n>在视图中,您需要使用自己创建的@emails

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

<%= will_paginate @emails %>

由于访问@user.emails.approved,您不是在查看分页版本,而是查看原始的活动关系。