2012-10-05 51 views
0

我有以下的控制方法searchlogic - 阵列错误

def app_used_by_Lab 
    per_id = params[:id] 

    @search1 = Apparatus.used_by_specific_lab(per_id).search(params[:search]) # both 'used_by_specific_lab' & 'lab_created' are named_scopes which return results from the same table 
    @search2 = Apparatus.lab_created(per_id).search(params[:search]) 
    @search = @search2 + @search1 
    @search.order ||= :descend_by_RPR_DATE_CREATED 
    @apparatuses = @search.paginate(:page => params[:page], :per_page => 10) 
end 

如果我改变代码'@search = @search1',它工作正常,并返回我的结果,但是当我做'@search = @search2 + @search1',我得到错误信息如下:

TypeError in ApparatusesController#app_used_by_Lab 

can't convert Searchlogic::Search into Array 

是不是可以在数组上使用searchlogic?

有没有解决上述问题的方法?

非常感谢您的宝贵帮助。

回答

0

请试试这个:

@search = @search2.to_s + @search1.to_s 
+0

非常感谢您的建议,但它不工作现在:(我越来越:未定义的方法'秩序”为#<字符串: 0xb6157cbc> – Kim

+0

请问我为什么要做search2 + search1 –

+0

原因是因为我需要添加2个示波器的结果并执行搜索 – Kim

0

试试这个:

@search = @search2.concat(@search1) 
+0

感谢您的建议,但不幸的是我仍然得到:不能转换Searchlogic ::搜索到数组 – Kim