0

可以幫助新手嗎?獲得作用域體或類方法中的作用域關係

我需要這樣的東西:

scope :randomized, lambda { actual.offset(rand(actual.count)) } 

def self.random 
    randomized.first 
end 

問題是個性化......它被稱爲agains模型本身,而不是一個範圍的結果... 所以我得到了比較大的數字,如果我叫

Model.other_scope.maybe_another.randomized 

是否可以在範圍內取得範圍結果?所以我可以調用scoped_result.actual.count還是有其他解決方案,也許更優雅?

回答

0

什麼這個...

def self.random 
    Model.order("RANDOM()").first 
end 
+0

是不是效率低下?它從數據庫中選擇所有記錄,然後從數組中選擇一個不是它? – phoenix12

+0

這是真的,我編輯我的答案:) – edymerchk

+0

是的,這符合我的問題,謝謝......但它打破了軌道多數據庫principes,所以如果你知道如何獲得範圍內的範圍內的結果我仍然好奇。但是,感謝這:) – phoenix12