在Rails视图中显示两个图像之间交替

时间:2011-05-30 19:42:55

标签: ruby-on-rails erb

首先,我为此道歉,因为我不是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 个答案:

答案 0 :(得分:5)

首先,您需要计算控制器中的随机数并将其放在一个实例变量中,如:

@image_random = rand(2)

然后,在您看来:

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

你可以安全地输掉 - 在Rails 3中的&lt;%之后:)它已经自动完成了。

请记住,rand(2)将返回0或1.因此检查随机&gt; 1总是假的。