我正在尝试一些事情来查找并非所有消息都被删除且无法正常工作的对话。
这是一个植入:
def index
@conversations = @mailbox.conversations.delete_if do |c|
receipts = c.receipts_for @master
return (receipts.where(deleted: true).count == receipts.count)
end
@conversations = @conversations.page(params[:page_1]).per(9)
end
我也使用.find_each而不是delete_if。
这是我在视图中出现的错误
ActionView::Template::Error (undefined method `first_page?' for nil:NilClass):
更新:我删除了退货,现在显示:
NoMethodError(#的未定义方法`page'):
答案 0 :(得分:0)
index
方法一旦到达return
尝试删除return
关键字。
编辑,重新:分页
使用delete_if
时,生成的对象将是一个数组。默认情况下,Kaminari不能使用数组。请参阅this link。
所以,你需要做这样的事情:
@conversations = Kaminari.paginate_array(@conversations).page(params[:page_1]).per(9)
比使用delete_if
更好的解决方案是组合一个查询,该查询可以准确地返回您想要的ActiveRecord::Relation
对象。
我不确定究竟会是什么样子。可能会提出一个很好的单独问题。