Rieles: find_by_contents con condiciones;Ayuda de la sintaxis por favor
-
29-10-2019 - |
Pregunta
Buscando limitar un hallazgo basado en condiciones en Rails 2.0.2.
Declaración de búsqueda:
@employees = Employee.find_by_contents(params[:keywords].to_s, :include => [ :categories, :revisions, :approvals, :archives, :related_documents ])
Es necesario agregar una condición para limitar la búsqueda
:conditions=>["archived = '0'"]
Aunque esto no funciona
@employees = Employee.find_by_contents(params[:keywords].to_s, :include => [ :categories, :revisions, :approvals, :archives, :related_documents ], :conditions=>["archived = '0'"])
¿Alguien sabe cuál debería ser la sintaxis?
Solución 2
estaba teniendo bastante tiempo con agregar una condición a Ferret Find_by, así que agregué un comando POST para filtrar si se archiva.Si piensas en una mejor manera aún, házmelo saber.Gracias.
@employees = Employee.find_by_contents(params[:keywords].to_s,
:include => [ :categories, :revisions, :approvals,
:archives, :related_documents ])
@employees = @employees.find_all {|p| !p.archived}
Otros consejos
Si pasa condiciones a una matriz, creo que debe ser para una condición parametrizada.Pruebe una de las siguientes opciones o ambas:
@employees = Employee.find_by_contents(params[:keywords].to_s,
:include => [ :categories, :revisions, :approvals,
:archives, :related_documents ],
:conditions=> "archived = '0'")
o
@employees = Employee.find_by_contents(params[:keywords].to_s,
:include => [ :categories, :revisions, :approvals,
:archives, :related_documents ],
:conditions=>["archived = ?",'0'])
En primer lugar, ¿qué error tienes?
y prueba esto
@employees = Employee.find_by_contents(params[:keywords].to_s, :include => [ :categories, :revisions, :approvals, :archives, :related_documents ], :conditions=>["employees.archived = ?", false])
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow