Генерация случайных из рельсов модели - PullRequest
0 голосов
/ 27 ноября 2011

В настоящее время я работаю над интернет-магазином для сайта со спортивными картами, использующим Ruby on Rails. В боковой панели на главной странице я хочу случайным образом сгенерировать карты из модели моих продуктов (которую я уже создал с помощью скаффолда). Как бы я поступил так? Любая помощь будет высоко ценится!

Ответы [ 2 ]

1 голос
/ 27 ноября 2011

Ваш вопрос очень общий, поэтому я сделаю пару предположений здесь.(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, и отобразить эти продукты.

1 голос
/ 27 ноября 2011

Используйте следующее в качестве отправной точки и измените limit в соответствии с количеством карт, которые вы хотите отобразить.

Получите два случайных элемента из модели RoR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...