我需要用 2 个传入参数构建一个动态 sql 队列。定义两个参数时很容易。
MyClass.where(:column1 => param[:first], :column2 => params[:second])
但是,例如,当param[:first] = 0
我想为此列选择所有(非空)字段时(因此,当两个参数都 = 0 时,它将等于select * from tablename
)。试过这个语法:
MyClass.where(:column1 => param[:first], :column2 => !nil)
但它给了我错误的输出。有什么建议可以优雅地解决这个问题吗?