rsn*_*der 2 ruby random ruby-on-rails
我在侧边栏中有一个横幅,由一大块HTML显示,在我的Ruby on Rails应用程序中,views/home/index.html但我有另一个横幅.每当有人查看页面时,我想随机显示其中一个.
<section id="audio-banner">
<a onclick="changeClass("#swap") href="#">
<img src="someImage.gif" >
</a>
</section>
Run Code Online (Sandbox Code Playgroud)
和
<section id="audio-banner">
<a onclick="changeClass("#swap2") href="#">
<img src="someOtherImage.gif" >
</a>
</section>
Run Code Online (Sandbox Code Playgroud)
我是Ruby和Rails的新手.我不知道在哪里放置预定义的HTML(模型,控制器,帮助器等)或如何编写将随机显示这两个中的一个的函数.
我开始编辑helpers/home_helper.rb并插入以下代码
module StoreHelper
def randomAudio
audio1 = '<section id="audio-banner">'
audio1 << '<a onclick="changeClass("#swap"); return false;" href="#">'
audio1 << '<img src="some.gif">'
audio1 << '</a>'
audio1 << '</section>'
audio1
audio2 = '<section id="audio-banner">'
audio2 << '<a onclick="changeClass("#swap2"); return false;" href="#">'
audio2 << '<img src="someOther.gif" alt="Estate">'
audio2 << '</a>'
audio2 << '</section>'
audio2
end
end
Run Code Online (Sandbox Code Playgroud)
但就我而言,因为我知道这是不正确的.任何帮助都会很棒.谢谢.
这是代码的改进版本(应该可以工作).请注意,在实际应用中,您应该将这些HTML部分移动到部分.但是在这里,为了简单起见,让我们把它们留在内联.
module StoreHelper
def randomAudio
audio1 = <<-HTML
<section id="audio-banner">
<a onclick="changeClass("#swap"); return false;" href="#">
<img src="some.gif">
</a>
'</section>
HTML
audio2 = <<-HTML
<section id="audio-banner">
<a onclick="changeClass("#swap2"); return false;" href="#">
<img src="someOther.gif" alt="Estate">
</a>
</section>
HTML
# pick one of them randomly
[audio1, audio2].sample
end
end
Run Code Online (Sandbox Code Playgroud)
它使用heredocs定义HTML片段而不会产生额外的噪音.另请阅读Array#sample.