我试图在我的项目中使用will_pagination,看起来很简单,但我有这个咨询显示一个想法列表...
@ideas= current_company.ideas.find_all_by_status_and_creator_id('editable', current_user.id) +
current_company.ideas.find_all_by_status('valid') +
current_company.ideas.find_all_by_status_and_creator_id('purchable', !current_user.id)
所以我这样修改它,使用paginate
current_company.ideas.where(:status => ['editable', 'valid'], :creator_id=> current_user.id).paginate ....
但我如何包括最后一个条件?
如果我在数组中包含“purchaseable”状态,该如何处理其他用户对current_user的干扰?
任何想法
答案 0 :(得分:1)
嗯,我相信你必须创建一个where
字符串。
current_company.ideas.where(
"
(status IN ('editable', 'valid') AND creator_id = ?)
AND
(status = 'purchable' AND creator_id <> ?)
",
current_user.id, !current_user.id).paginate...
请注意,您可能必须将表名放在ideas.status
等属性之前。