У меня есть модель в Rails, из которой я хочу выбрать случайную запись.До сих пор я делал это с помощью именованной области видимости:
named_scope :random, lambda { { :order=>'RAND()', :limit => 1 } }
Но теперь я добавил в модель целочисленное поле 'weight', представляющее вероятность, с которой следует выбирать каждую строку.
Как мне теперь сделать взвешенный случайный выбор?
Я нашел и опробовал два метода на snippets.dzone.com, которые расширили класс Array и добавили взвешенную случайную функцию, но обане работал или не выбирал случайные предметы для меня.
Я использую REE 1.8.7 и Rails 2.3.