在Ruby中构造SQL

时间:2013-10-04 04:16:13

标签: ruby-on-rails

假设我想做

SomeModel.where(blahblah)

如果设置了某个参数,那么我也想订购选择

SomeModel.where(blahblah).order(blahblah)

我不想做

if something
   SomeModel.where(blahblah)
else
   SomeModel.where(blahblah).order(blahblah)
end

因为它是重复的。

是否有某种方法可以让我用条件构造一个SQL语句,然后再执行它?类似于通过串联构造SQL字符串然后执行字符串?

1 个答案:

答案 0 :(得分:1)

是的,这是ARel的观点:

x = SomeModel.where(blahblah)
x = x.order(blah) if something