0

私がこれをやろうとすると:

questions = Array.new
2.times do
  question = Question.first(:order => 'random()')
  questions << question
end

要素を検査します。

raise questions.inspect

2 つの同じオブジェクトを含む配列を返しますが、配列には 2 つの異なるオブジェクトがquestions必要です。私は何を間違っていますか?

4

1 に答える 1

0

ランダムなレコードを返す Question のメソッドを作成してみてください。

class Question < ActiveRecord::Base

...

  def self.random
    if (c = count) != 0
      find(:first, :offset =>rand(c))
    end
  end

...

end

次に使用します。

questions = Array.new
2.times do
  question = Question.random
  questions << question
end
于 2012-12-08T19:21:06.007 に答える