0

我正在尝试在我的项目中使用 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)

所以我像这样修改它,使用分页

current_company.ideas.where(:status => ['editable', 'valid'], :creator_id=> current_user.id).paginate ....

但是我如何包含最后一个条件?

如果我在数组中包含状态“可购买”,如何将 current_user 的其他用户区别开来?

任何想法

4

1 回答 1

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.

于 2013-09-13T14:31:35.013 回答