[英]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.