2010-11-08 80 views
0

查找條件現在我只有一個條件,我Projects.paginate 代碼如下2與一個變量

def list 
     @projects = Project.paginate(:page => params[:page], :per_page => 100, :order => (sort_column + ' ' + arrow), :conditions => ["description LIKE ?", "%#{query}%"]) 

我想在這裏把另外的條件,但它被證明是困難的。我試過了

@projects = Project.paginate(:page => params[:page], :per_page => 100, :order => (sort_column + ' ' + arrow), :conditions => ["description OR name LIKE ?", "%#{query}%"]) 

但是即時通訊從SQL控制器得到一個綁定錯誤。有任何想法嗎?我也不能使用=符號。

+1

我真的不知道Rails的,但是'SELECT ... WHERE描述或名稱LIKE「%FOO%」'不真正有效的SQL,或者至少它不會做你認爲它的作用。它需要'WHERE描述LIKE'%foo%'或名稱LIKE'%foo%''。 – deceze 2010-11-08 03:45:03

回答

1

你需要有兩個綁定變量條件中的數組:

qt = "%#{query}%" 
@projects = Project.paginate(:conditions => 
       ["description LIKE ? OR name LIKE ?", qt, qt], ..) 
+0

啊。很奇怪的是,考慮到qt和qt都具有相同的價值。你會認爲SQL只能用一個變量來理解。無論如何謝謝你!這確實解決了我的問題 – TheRealVayne 2010-11-09 06:32:18