0

初心者を助けてもらえますか?

次のようなものが必要です:

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

def self.random
  randomized.first
end

問題はカウントにあります...スコープされた結果ではなく、モデル自体に対して再度呼び出されます...したがって、呼び出すとより大きな数が得られます

Model.other_scope.maybe_another.randomized

スコープボディでスコープされた結果を取得することは可能ですか? だから私はscoped_result.actual.countを呼び出すことができますか、それとももっとエレガントな解決策がありますか?

4

1 に答える 1

0

これはどうですか...

def self.random
  Model.order("RANDOM()").first
end
于 2013-05-14T21:46:10.367 に答える