我无法使用will_paginate在视图上渲染我的项目。我收到此错误
undefined method `total_pages' for #<Enumerator:0x007fe098856378>
这是我在控制器上的分页
@com = @text.comments.sorted.paginate(:page => 1, :per_page => 30)
和我的查看文件代码。
<% will_paginate @com.each do |text| %>
<div class="comments"> <p class="time"><%= Time.now %></p>
<p><%= text.text %></p></div>
控制器文件是
def show
@text = Microblog.find(params[:id])
@com = @text.comments.sorted.paginate(:page => 1, :per_page => 2)
@rating = (@text.up - @text.down)
end
模型文件
class Comment < ActiveRecord::Base
attr_accessible :text, :microblog_id
belongs_to :microblog
scope :sorted, order("comments.created_at DESC")
end
我找不到这里的问题:(
答案 0 :(得分:3)
您正在将分页小部件(&lt; 1 2 3&gt;)与可用元素的列表混合在一起。你想要的是:
<% will_paginate @com %>
<% @com.each do |text| %>
<div class="comments"> <p class="time"><%= Time.now %></p>
<p><%= text.text %></p></div>
答案 1 :(得分:0)
问题解决了!使用:page => params[:page]
代替:page => 1
谢谢大家