我花了最后几个小时找出为什么will_paginate无法在我的用户帐户区域页面“site.com/”(用户/新用户)上运行,但可以在其他网页上工作,例如site.com/search, site.com/browse。
有什么方法可以解决我目前的问题吗?用户帐户区域页面是用户注册的同一页面,但隐藏了注册内容。这是我的根本路径(site.com /)。
显示下一个和上一个链接,但所有结果都显示在一个页面上。
控制器:
class UsersController < ApplicationController
include UsersHelper
include MessagesHelper
def new
@user = User.new
if logged_in?
@current_user = User.find_by_username(current_user.username)
@default_photo = Photo.find(current_user.profile.photo_id) if current_user.profile.photo_id
@micropost = Micropost.new(:user_id => users_id)
@microposts = current_user.microposts.page(params[:page]).per_page(1)
@default_image = default_profile_image
@comment = Comment.new(:user_id => current_user.id)
HTML / HAML:
.microposts
= render 'users/partials/micropost_form'
- if @current_user.microposts.any?
= render 'users/partials/microposts'
= will_paginate @microposts
我的部分微博部分
<% @current_user.microposts.each do |m| %>
<% if m.poster_id.nil? %>
<div class="postHolder">
<nav class="micropostOptions">
<ul class="postMenu">
<li class="deletePost"><%= link_to content_tag(:span, "Delete post"), m, :method => :delete, :confirm => "Are you sure?", :title => m.content, :class => "message_delete" %>
</li>
<li class="disableCommenting"><%= link_to content_tag(:span, "Pause commenting"), "2" %></li>
<li class="blockCommenter"><%= link_to content_tag(:span, "Block commenter"), "3" %></li>
<li class="openInNewWindow"><%= link_to content_tag(:span, "Open in new window"), "4" %></li>
<li class="reportAbuse"><%= link_to content_tag(:span, "Report abuse"), "5" %></li>
</ul>
</nav>
嗯,我刚刚在我的用户控制器microposts
中创建了一个单独的操作,为它提供了自己的路径和视图,然后在该页面上尝试了will_paginate,但它仍然在一个页面上返回所有结果。混淆
答案 0 :(得分:0)
感谢Jeremy上面的评论。我更改了我的部分,以便它引用@microposts而不是@ current_user.microposts,我的问题解决了。不知道我怎么会错过这个。