我希望我的用户能够通过他们自己的帖子(安排电子邮件)进行分页。提前感谢任何可以帮助或引导我朝正确方向前进的人!
电子邮件有不同的类别,预定和待定。我的电子邮件模型中有两个范围。
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
答案 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
,您不是在查看分页版本,而是查看原始的活动关系。