Active Record Random
August 30, 2009
Are you looking for a way to select a random record that plays nice with named scope in your Rails app? Throw this into config/initializers/active_record_random.rb
:
class ActiveRecord::Base
def self.random
if (c = count) > 0
first(:offset => rand(c))
end
end
end
Now you can call random
the same way you would call first
or all
. That means you can do Widget.random
to get a random widget or Widget.fancy.random
, to get a random fancy widget, assuming you have defined the fancy named scope for Widget
.