Rails número aleatorio siempre el mismo

Tengo un problema con un número aleatorio. Tengo una tabla Cuenta y necesito asignar una cuenta aleatoria dentro de cada una, pero cuando guardo todos los datos, noto que todos los registros tienen el mismo número aleatorio (1).

Solo tengo 2 cuentas. Probé con 10.times do... y parece que funciona bien, pero no estoy seguro de por qué esto no funciona, ¿alguna idea?

  data = []
  accounts = Account.all
  searches.each do 
      data << SearchesResult.new({
          :account_id => accounts[rand(accounts.count)]
      })
  end
  SearchesResult.import data

preguntado el 12 de junio de 12 a las 20:06

¿Está tratando de asignar a una cuenta aleatoria o asignar un número de cuenta aleatorio? -

1 Respuestas

Parece que está obteniendo un objeto Cuenta y lo está pasando como :account_id. probablemente quieras

  data << SearchesResult.new({
      :account_id => accounts[rand(accounts.count)].id
  })

o, como dice mckeed,

  data << SearchesResult.new({
      :account => accounts[rand(accounts.count)]
  })

Respondido el 12 de junio de 12 a las 21:06

or :account => accounts[rand(accounts.count)] - mckeed

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.