2007-12-07
多对多关联分页,用will_paginate插件实现
关键字: rails ruby will_paginate 多对多关联分页在做项目的时候碰到这样一个问题,有两个模型:category和content,他们是多对多的关联,他们的关联模型是categoring
我要做的是根据某个特定的category来检索content,并对content分页。
Controller的代码:
- @category = Category.find(params[:id])
- content_ids = @category.categorings.collect{|categoring| categoring.content_id}
- #首先取出中间表里该模型的记录集合(数组)
- if !(content_ids == []) #然后判断该集合是否为空,如果为空则不做查询分页
- @contents = Content.paginate(:all,
- :conditions => "id IN (#{content_ids.join(',')})",
- :page => params[:page], :per_page => 2)
- #如果不为空则对关联表进行分页(利用will_paginate插件)
- end
然后就可以在views中利用进行分页了。
评论
weskycn
2008-02-28
这个办法不错,
liuqiang
2008-02-20
@category = Category.find(params[:id])
contents = @category.contents
@contents = Content.paginate :all,
:conditions => ["id IN (?)",contents] ,
:page => params[:page], :per_page => 2 貌似也可以
contents = @category.contents
@contents = Content.paginate :all,
:conditions => ["id IN (?)",contents] ,
:page => params[:page], :per_page => 2 貌似也可以
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 7628 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
[转贴]关于豆瓣网的调查 ...
我也做了个网站。呵呵 ,也有读书,歌曲,交流等,还有小组,心情。。。www.fy ...
-- by 木石流云 -
Cache_fu插件使用方法(翻 ...
把 reset_cache 当作一个异步操作来用。这样虽然可能会牺牲页面的及时刷 ...
-- by rubyonrailscn.org -
Cache_fu插件使用方法(翻 ...
reset_cache:重置缓存(这段不知道改怎么翻译了:reset_cache ...
-- by rubyonrailscn.org -
ActiveResource探究(一) ...
没有错阿,我是想加上原文地址的,但是当我翻译的时候原文已经打不开了。 我想这就是 ...
-- by weskycn -
ActiveResource探究(一) ...
翻译的还不错
-- by blackanger






评论排行榜