ここ数時間、will_paginate が自分のユーザー アカウント エリア ページ「site.com/」(users/new) では機能しないのに、site.com/search、site.com などの他のページでは機能する理由を突き止めました。 /ブラウズ。
現在の問題に対処する方法はありますか? ユーザー アカウント エリア ページは、ユーザーがサインアップするのと同じページですが、サインアップ コンテンツは非表示になっています。これは私のルート パス (site.com/) です。
次と前のリンクが表示されますが、すべての結果が 1 ページに表示されます。
コントローラ:
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 が試行されましたが、それでもすべての結果が 1 ページに返されます。混乱している