У меня есть 5 изображений, которые я хочу использовать в качестве фона в разное время (случайным образом нужно выбрать фон для тега body). Как мне это сделать, это можно сделать в Rails Controller / method или через ERB или через JQuery?
Вот небольшой метод получения случайной записи:
random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].shuffle.first
В Ruby 1.9 это еще проще:
random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].sample
Я бы добавил это в ваш шаблон ERB - он напрямую связан с html.
Для этого не нужно jQuery / Javascript. Вы можете сделать это либо в методе Controller, либо в своем шаблоне ERB. В любом случае у вас будет массив имен файлов фоновых изображений, и вы получите случайное число в соответствующем диапазоне, а затем установите имя файла фонового изображения на изображение, имя которого находится в случайно выбранном месте. Если вы делаете это в контроллере, а не в шаблоне, вам необходимо установить переменную в коде контроллера, содержащую имя изображения, чтобы шаблон мог его прочитать.