Поочередно отображать два изображения в представлении Rails - PullRequest
1 голос
/ 30 мая 2011

Во-первых, я прошу прощения за это, поскольку я не программист Rails .. Мне просто нужно выяснить это, чтобы я мог вернуться к продуктивной работе.

Я унаследовал сайт RoR и мне нужно изображение, которое вращается случайным образом при загрузке страницы. Просто, верно?

Мое решение состояло в том, чтобы сгенерировать случайное число от 0 до 2. Если число выше 1, покажите одно изображение, в противном случае покажите другое. Я положил это в sidebar.erb файл:

<div class="shadow">

<%- if rand(2) > 1 %>
        <img src="foo.png"/>
<%- else %>
        <img src="bar.png"/>
<%- end %>
                </div>

Я получаю следующую ошибку в журналах сайта:

warning: else without rescue is useless

Я, вероятно, делаю это совершенно неправильно. Честно говоря, мне просто нужно, чтобы это работало с минимальными усилиями. Любая помощь будет принята с благодарностью.

1 Ответ

5 голосов
/ 31 мая 2011

Сначала вам нужно будет вычислить случайное число в вашем контроллере и поместить его в переменную экземпляра, например:

@image_random = rand(2)

Затем, на ваш взгляд:

<% if @image_random == 1 %>
        <%= image_tag "foo.png" %>
<% else %>
        <%= image_tag "bar.png" %>
<% end %>

Выможет спокойно проиграть - после <% в Rails 3 :) Это было сделано автоматически. </p>

Имейте в виду, что rand (2) вернет 0 или 1. Поэтому проверка на случайность> 1 всегда будет выглядеть какложь.

...