0

我正在使用代码:

<h2>
<% random_bullets = Bullet.all %>
<ul>
  <% random_bullets.shuffle.first(4).each do |r| %>
<br>
    <li><%= db.save(r.content) %></li>
  <% end %>
</ul>
</h2>

从我的数据库中随机抽取四个项目符号并将它们发布到一个页面;我想要做的是让他们保存项目符号,以便它们仅在生成页面后随机化。我可以对这段代码做些什么来实现这一点吗?如果没有,我该怎么做才能做到这一点。代码在嵌入式 Ruby 中,db 是一个 sqlite3 数据库。

4

1 回答 1

1

设置随机子弹和随机化属于您的控制器。在那里,我建议按顺序设置一个包含 bullet.ids 数组的 cookie。然后,如果它存在,您可以迭代数组,否则创建一个新数组并保存它。

在您的控制器中:

if cookies[:bullets].nil?
  @bullets = Bullet.all.shuffle.first(4)
  cookies[:bullets] = @bullets.collect(&:id)
else
  @bullets = []
  cookies[:bullets].each do |id|
    @bullets << Bullet.find(id)
  end
end

在你看来:

<ul>
  <% @bullets.each do |r| %>
    <li><%= r.content %></li>
  <% end %>
</ul>

您是否知道将 a 放入<ul>a<h2>或将 a放入<br>a是无效的 html <ul>

于 2012-06-28T22:06:01.020 回答