2009-10-06 2 views
0

У меня есть 5 изображений, которые я хочу использовать в качестве фона в разное время (случайным образом нужно выбрать фон для тега тела). Как это сделать, можно ли это сделать в Rails Controller/method или через ERB или через JQuery?Случайно отображает другой фон каждый раз, когда отображается страница

ответ

1

Для этого не требуется jQuery/Javascript. Вы можете сделать это либо в методе Controller, либо в вашем шаблоне ERB. В любом случае у вас будет имен файлов фонового изображения, и вы будете get a random number в соответствующем диапазоне, а затем установите имя файла фонового изображения на изображение, имя которого находится в случайно выбранном месте. Если вы делаете это в контроллере, а не в шаблоне, вам нужно установить переменную в свой код контроллера, содержащий имя изображения, чтобы шаблон мог ее прочитать.

5

Вот миленькая метод получения случайной записи:

random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].shuffle.first 

В Ruby 1.9, это еще проще:

random_bg = ['bg1.png', 'bg2.png', 'bg3.png'].sample 

я поместил это в шаблон ERB - это напрямую связано к html.

Смежные вопросы