我正在使用Kaminari对帖子页面进行分页。一个帖子有很多标签,每个标签链接到一个" Show"显示包含该标记的所有帖子的页面。我试图对这个标签页面进行分页,但它从来都不起作用。
标记/显示
<div class="post-index">
<h1><%= @tag.name %></h1>
<ul>
<% @tag.posts.each do |post| %>
<li>
<div class="post">
<div class="featured-image">
<%= link_to image_tag(post.featured_image.url(:featured)), post_path(post) %>
</div>
<div class="info">
<div class="title">
<h2><%= link_to post.title, post_path(post) %></h2>
</div>
<div class="excerpt">
<p><%= truncate(strip_tags(post.body), length: 360) %></p>
</div>
</div>
</div>
</li>
<% end %>
</ul>
<%= paginate @tags %>
</div>
tag.rb
lass Tag < ActiveRecord::Base
has_many :taggings
has_many :posts, through: :taggings
paginates_per 2
end
tags_controller.rb
class TagsController < ApplicationController
def show
@tag = Tag.find(params[:id]).page(params[:page])
end
end
我已经尝试了所有我能想到的东西。 Kaminari使用的例子是
tag = Tag.order(:name).page(params[:page])
但是这不起作用并且返回一个no方法&#34; post&#34;错误。我尝试对帖子模型进行分页,但这并不起作用。
如果我删除任何分页参考,它会在代码页上正确显示所有帖子。
感谢您的任何建议
答案 0 :(得分:1)
我不确定你想要什么分页?标签或帖子?在您的代码中,您想要对“@tags”进行分页,但是您从不定义“@tags”。
@tag = Tag.find(params[:id])
@posts = @tag.posts.page(params[:page])