我无法让 will_paginate 与 squeel 一起工作。
以下代码使用表单中的参数进行搜索。
def self.search(params)
if params
campo_a_pesquisar = params[:column]
item_status_fisico = params[:item_status_fisico]
item_status_logico = params[:item_status_logico]
criterio = params[:criterio]
q = self
q = q.where{item_status_logico_id =~ my{item_status_logico}} unless item_status_logico.nil?
q = q.where{item_status_fisico_id =~ my{item_status_fisico}} unless item_status_fisico.nil?
q = q.where{(__send__(column) =~ my{criterio})} unless criterio.empty?
q = q.where{(id != 0)} if criterio.empty?
else
self
end
end
它适用于“Disponível”(item_status_logico)和“Funciona”(item_status_fisico)。但是,如果我在 :criterio 上放一些东西,它会中断以下消息:
nil:NilClass 的未定义方法“分页”
我的控制器有一个调用所有内容的列表方法
def list
@itens = Item.search(params[:item]).paginate(:page => params[:page])
end
我看下面的材料来弄清楚。但我做不到。
- https://github.com/ernie/squeel/wiki/Tips-and-tricks
- https://github.com/ernie/squeel
- http://railscasts.com/episodes/354-squeel
任何人都可以帮忙吗?
信息:
- 红宝石 (1.9.3)
- will_paginate (3.0.4)
- 斯奎尔 (1.0.18)
- 导轨 (3.2.13)