我有一个Rails模型,想从中随机选择一条记录。我通过一个类似以下的命名作用域来实现:
named_scope :random, lambda { { :order=>'RAND()', :limit => 1 } }
现在我已经在表示每行应该被选择的概率的模型中添加了一个整数字段“weight”。
那么现在我该如何进行加权随机选择呢?
我在snippets.dzone.com上找到并尝试了两种方法,它们扩展了Array类并添加了加权随机函数,但是都没有为我工作或选择随机项。
我正在使用REE 1.8.7和Rails 2.3。