モデル
class Answer < ActiveRecord::Base
def self.energy(v, w)
a = self.where('energy_id = ? AND weight = ?', v, w)
a.offset(rand(a.count)).first.name
end
見る
<%= form_for(@answer) do |f| %>
<%= f.submit "#{Answer.energy(3, 1)}", name: "answer", class: "btn" %>
<%= f.submit "#{Answer.energy(4, 1)}", name: "answer", class: "btn" %>
<% end %>
私はそれを持っており、適切にランダムな値を返します。私はこれを 36 回 (2 対 18 ペア) 呼び出していますが、同じ値が 2 回以上返されることは望ましくありません。ありとあらゆる.pop
バリエーションを試しましたが、毎回失敗しました。
助けてくれてありがとう!
呼び出しのために、私はこれらのフォームボタンを使用しているので、次のようにしました:
<% names = [] %>
<div id='one' class='center'>
<%= form_for(@answer) do |f| %>
<%= f.submit "#{record = Answer.energy(3, 1, names)}", name: "answer", class: "btn btn-large btn-primary" %>
<% names << record %>
<%= f.submit "#{record = Answer.energy(4, 1, names)}", name: "answer", class: "btn btn-large btn-primary" %>
<% names << record %>
<% end %>
</div>
~~ 17 more times ~~
魔法のように機能します!jvnill さん、助けてくれてありがとう!