2011-08-27 81 views
0

在雷,这个工程:雷分页范围问题

<%= paginate @posts %> 

但如果我这样做:

<%= paginate @user.posts %> 

我得到

undefined method `current_page' for #<Class:0x58378e0>  

我该如何解决这个问题?我听说inherited_resources有帮助,但我不知道如何使用它来修复这个bug。

回答

4

因为在第一个版本@posts可能是运行像

@posts = Post.page(2).per(50) 

的结果,所以雷返回喜欢的对象数组,paginate helper方法的期望。

当你直接调用@user.posts你实际上只是加载一个普通的旧ActiveRecord关联。

简短的回答是,你需要让雷与paginate helper方法

+0

我有一个noob问题使用产生你其实都是变量,我将如何设置它,这样@posts由过滤用户名?类似于: posts = Post.find(user).page(params [:page])。per(5) – Jon

+0

nvm,我修正了它:@posts = @ user_on_page.posts.page(params [:页])。每(5) – Jon