我是新来的轨道。以下是以 Foo 作为模型对象的代码:
a = Foo
a = Foo.where(age: 18)
if params[:sort] == "desc"
a = a.order("name desc")
end
这里执行了两个查询,我想将它们合并为一个,或者你可以说我想执行 Foo.where(age=18).order("name asc")
请记住,可能存在不需要 order 的情况,即 params[:sort] 不等于 desc。
请不要给出解决方案
if params[:sort] == "desc"
a = a.where(age=18).order("name desc")
else
a = a.where(age=18)
end
因为它使代码变得多余,而且对于更多参数,它可能不起作用。