JavaFree.org | RubyOnBr.org

Monta conditions para pesquisa

Acompanhar Monta conditions para pesquisa 7 posts, 3 participantes

Avatar Davis Zanetti Cabral 130 posts

No meu model tenho:

E no meu controller:

The rails way is… ?? ;)

 
Avatar Mereghost 1476 posts

Entendi o que tu quer fazer, mas pode por a view para que possamos ver os parâmetros enviados no POST?

 
Avatar Davis Zanetti Cabral 130 posts

Passa um params[:search] formado por: model, city_id, color_id, mark_id, type_id, year

 
Avatar Akita On Rails 298 posts

hehe, sei lá, quem sabe assim?

(não testei)

 
Avatar Davis Zanetti Cabral 130 posts

Valeu Akita! Dessa forma a coisa ficou mais clara!

E acabei ainda vendo duas coisas bacanas, uma que eu não tinha reparado que é o if na atribuição, como um bloco e uma que o hábito de utilizar blocos no estilo c/c++ não me deixava eu usar que é o “next if”.

 
Avatar Akita On Rails 298 posts

Esqueci de mais uma: existe uma diferença entre string entre aspas simples e aspas duplas. Em aspas duplas você pode executar (eval) qualquer código que devolva um objeto que possa ser convertido em string. Por exemplo:

Assim fica muito melhor do que ficar concatenando com “+”

Tem um plugin também chamado Condition Builder que deve ajudar (http://blog.inquirylabs.com/2007/01/04/condition-builder-10-released/)

Então seu código ficaria assim:

 
Avatar Davis Zanetti Cabral 130 posts

Ótimo! Já instalei ele! Valeus de novo Akita!

Outra coisa que notei, que esse código tem um probleminha…
Se conditions ficar igual a [] ele dá pau no metodo sanitize_sql do framework.

Vou fazer um teste com o plugin e ver se ocorre o mesmo erro! Se não ocorrer, melhor né? ;)

Abraço!