0
我有這個疑問:ActiveRecord的unscope像PARAMS
filtri = Interventi.where(chiuso: @f_stato, id: @array_int, cliente_id: @f_cliente, categoria: @f_categoria, intervento: @f_cerca).paginate(:page => params[:page]).order('id DESC')
if @f_cliente.blank?
filtri = filtri.unscope(where: :cliente_id)
end
我可以簡單地unscope一個PARAMS如果它沒有設置:
if @f_stato.blank?
filtri = filtri.unscope(where: :chiuso)
end
我需要添加一個搜索參數,可以,所以我需要一個'像」條件:
@f_cerca = params[:search] if params[:search]
filtri = Interventi.where('chiuso = ? AND id = ? AND cliente_id = ? AND categoria = ? AND intervento like ?', @f_stato, @array_int, @f_cliente, @f_categoria, @f_cerca).paginate(:page => params[:page]).order('id DESC')
但與此第二查詢我不能unscope與其中clausole:
if @f_cerca.blank?
filtri = filtri.unscope(where: :intervento)
end
正如我在第一個查詢做
我想辦法可能是所有的轉換,其中clausole在「喜歡」,改變PARAMS在「%」,而不是unscope他們的......是有任何其他方式?
我該如何解決?
感謝所有
謝謝你,你的建議是好的一些安排! – EffeBi