简体   繁体   English

Rails:带条件的find_by_contents; 请语法帮助

[英]Rails: find_by_contents with conditions; syntax help please

Looking to limit a find based on conditions in a Rails 2.0.2. 试图基于Rails 2.0.2中的条件限制查找。

Find statement: 查找声明:

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

Need to add a condition to limit find 需要添加条件以限制查找

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

Though this doesn't work 虽然这不起作用

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

Anyone know what the syntax should be? 有人知道语法应该是什么吗?

If you pass conditions an array, I think it needs to be for a parameterized condition. 如果通过条件数组,我认为它必须用于参数化条件。 Try either/both of the following: 尝试以下两种方法之一:

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

or 要么

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

Firstly, what error do you have? 首先,您有什么错误?

And try this 尝试一下

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

Was having quite a time with adding a condition to ferret find_by, so I added a post command to filter if it's archived. 在将条件添加到雪貂find_by上花了很长时间,所以我添加了一个post命令来过滤是否已归档。 If you think of a better way still, let me know. 如果您仍在想更好的方法,请告诉我。 Thanks. 谢谢。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM