Ich erstellen einen Bedingungen Hash, um eine Abfrage auszuführen, aber ich habe ein Problem mit einem bestimmten Fall: conditions2 = ['extrahieren (Jahr von Signatur_Datum) =?', Params [ : Jahr] .to_i] es sei denn, Params [: Jahr] .blank?Verwenden Sie eine Funktion in einem Bedingungen Hash
conditions[:country_id] = COUNTRIES.select{|c| c.geography_id == params[:geographies]} unless params[:geographies].blank?
conditions[:category_id] = CATEGORY_CHILDREN[params[:categories].to_i] unless params[:categories].blank?
conditions[:country_id] = params[:countries] unless params[:countries].blank?
conditions['extract(year from signature_date)'] = params[:year].to_i unless params[:year].blank?
Aber die letzte Zeile bricht alles, wie es wie folgt interpretiert wird:
AND ("negotiations"."extract(year from signature_date)" = 2010
Gibt es eine Möglichkeit zu verhindern, dass "negotiations"."
zu meinen Zustand vorangestellt?
danke, P.
Ich denke, das ist der einzige Weg in der Tat. Vielen Dank – Pierre