0

次のコードは、必要なことを実行しません。user_id が 1 ではないランダムなデザイン オブジェクトを返したいのですが、そのままでは、クエリがレコードを返さない場合があります。

   offset = rand(Design.count)
   @design = Design.first(:offset => offset, :conditions => [ "user_id != ?", 1])
4

2 に答える 2

1

やりたいことは、これらの条件にも一致する要素の数を数えることです:

offset = rand(Design.count(:conditions => [ "user_id <> ?", 1]))
于 2012-07-06T20:18:22.987 に答える
0

データベースがかなり小さい場合は、返された配列でサンプル メソッドを呼び出すことができます。

Design.where(:offset => offset, :conditions => [ "user_id != ?", 1]).sample
于 2012-07-07T16:48:27.517 に答える