如何指定sql限制方法的编号,使限制实际上是所有记录。我想要一个具有灵活限制的范围,例如scope :females, ->(n) {where(gender: 'Female').limit(n)
。使用此范围如何指定所有记录?有没有比females(Model.all.count)
更好的方式?
答案 0 :(得分:1)
females(nil)
是否应用了限制条款。这是有效的,因为limit(nil)不适用。
答案 1 :(得分:1)
也许这会有所帮助:
scope :females, ->(n=nil) do
if n.present?
where(gender: 'Female').limit(n)
else
where(gender: 'Female')
end
end
然后:
Yourclass.females(10) #=> reuturn 10 female records
Yourclass.females #=> reuturn all female records