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>

データベースから 4 つのランダムな箇条書きを取得し、それらをページに投稿します。私がやろうとしているのは、箇条書きを保存して、ページが生成された後にのみランダム化されるようにすることです。これを達成するためにこのコードにできることはありますか? そうでない場合、これを達成するために何ができますか。コードは組み込み Ruby であり、db は sqlite3 データベースです。

4

1 に答える 1

1

ランダムな弾丸の設定とランダム化はコントローラーに属します。そこで、順番に bullet.id の配列を含む 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 を a 内に配置したり、 a<ul>内に aを配置したりするのは無効な html であることを認識していますか?<h2><br><ul>

于 2012-06-28T22:06:01.020 に答える