Ваш вопрос очень общий, поэтому я сделаю пару предположений здесь.(1) Я предполагаю, что вы можете поместить большинство ваших продуктов в память.(2) Произвольные продукты нужно обновлять только каждые несколько часов или около того.
Сначала напишите метод, который выбирает некоторые продукты из вашей модели случайным образом: (Также прочитайте Как выбрать случайным образом из массива? о том, как получить случайные предметы):
products = Products.find(:all)
(1..5).each do |n|
selectedProduct = products[rand(myarray.length)]
selectedProduct.shouldAppearOnHomePage = true
selectedProduct.save
end
Вы можете запускать этот метод (возможно, с / script / rails exec) каждый сейчас и потом.Он установит mustAppearOnHomePage для новых случайных продуктов.
Затем все, что остается сделать, - это запросить базу данных, в которой должен иметь значение trueAppearOnHomePage, и отобразить эти продукты.