Pergunta

Procurando limitar uma descoberta com base nas condições do Rails 2.0.2.

Encontrar declaração:

@employees = Employee.find_by_contents(params[:keywords].to_s, :include => [ :categories, :revisions, :approvals, :archives, :related_documents ])

Precisa adicionar uma condição para limitar a localização

:conditions=>["archived = '0'"]

Embora isso não funcione

@employees = Employee.find_by_contents(params[:keywords].to_s, :include => [ :categories, :revisions, :approvals, :archives, :related_documents ], :conditions=>["archived = '0'"])

Alguém sabe qual deve ser a sintaxe?

Foi útil?

Solução 2

Estava demorando bastante para adicionar uma condição ao ferret find_by, então adicionei um comando post para filtrar se ele estava arquivado.Se você pensar em uma maneira melhor ainda, me avise.Obrigado.

@employees = Employee.find_by_contents(params[:keywords].to_s, 
              :include => [ :categories, :revisions, :approvals, 
                            :archives, :related_documents ])
@employees = @employees.find_all {|p| !p.archived}

Outras dicas

Se você passar condições para um array, acho que precisa ser para uma condição parametrizada.Tente um ou ambos os seguintes:

    @employees = Employee.find_by_contents(params[:keywords].to_s, 
                  :include => [ :categories, :revisions, :approvals, 
                                :archives, :related_documents ], 
                  :conditions=> "archived = '0'")

ou

@employees = Employee.find_by_contents(params[:keywords].to_s,                           
                  :include => [ :categories, :revisions, :approvals, 
                                :archives, :related_documents ],
                  :conditions=>["archived = ?",'0'])

Em primeiro lugar, que erro você tem?

E tente isso

@employees = Employee.find_by_contents(params[:keywords].to_s, :include => [ :categories, :revisions, :approvals, :archives, :related_documents ], :conditions=>["employees.archived = ?", false])
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top