Reputation: 136
I'm having trouble making will_paginate work together with squeel.
The following code makes a search using params from a form.
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
It works for "Disponível" (item_status_logico) and "Funciona" (item_status_fisico). But if I put something on :criterio it breaks with the following message:
undefined method `paginate' for nil:NilClass
My controller has a list method which invoke everything
def list
@itens = Item.search(params[:item]).paginate(:page => params[:page])
end
I look on the following material to figure out. But I couldn't.
Can anyone help?
Info:
Upvotes: 1
Views: 114