Ich habe eine Methode, die eine ActiveRecord_Relation zurückgibt, und ich möchte eine where
-Klausel concat, wenn die ID empfangen in params
nicht null ist. So etwas wie diesWie eine concate nur eine where-Klausel, wenn ID ist nicht null
query.where(item_id: params[:item_id]) # only if params[:item_id] is not null.
query # only if params[:item_id] is null.
Es wäre eine Abfrage wie die ersten perfekt sein:
query.where(item_id: params[:item_id])
, in dem ein Nullwert die ganze entkräftet, wo statt einen item_id mit Null-ID zu suchen.
Natürlich kann ich dies mit einer bedingten tun. Aber ich würde gerne wissen, ob es einen Schienenweg gibt, um dies zu tun. Ein One-Liner oder etwas
Vielen Dank!
aber mit dieser Lösung, wenn params [: item_id] null ist, die gesamte Abfrage wird nicht ausgeführt. Ich möchte nur abfragen, wenn params [: item_id] gleich Null ist – Quin