1

我花了过去几个小时找出为什么 will_paginate 不能在我的用户帐户区域页面“site.com/”(用户/新)上工作,但可以在其他页面上工作,例如 site.com/search、site.com /浏览。

有什么办法可以解决我目前的问题吗?用户帐户区域页面与用户注册的页面相同,但隐藏了注册内容。这是我的根路径(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,但它仍然在一页上返回所有结果。使困惑

4

1 回答 1

0

感谢 Jeremy 上面的评论,修复了。我更改了我的部分,以便它引用@microposts 而不是@current_user.microposts,我的问题就解决了。不知道我怎么会错过。

于 2012-04-08T15:16:56.940 回答