Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

205
Vistas
¿Cómo hago un bucle de dos tablas en una tarea de rake ROR?

así estoy escribiendo un sistema del cual cada usuario tiene una cuenta y deposita. entonces mi modelo de usuario es:

 has_many :deposits

modelo de cuenta belongs_to :user modelo de depósito belongs_to :user

En mi tarea de rake, estoy tratando de encontrar y verificar cada depósito y, una vez verificado, el equivalente se actualiza en la cuenta.saldo

 desc "Depost Verification per plans" task testest2: :environment do @users = User.all @users.each do |u| puts u.email u.accounts.each do |a| puts a.first_name puts a.balance end u.deposits.each do |d| puts d.amount end @accounts = u.accounts.all @deposits = u.deposits.all @accounts.each do |b| puts b.first_name end print "Commands working here error begins on the next paragrah" print "how do i achieve this loop using the above parameters" @accounts.zip(@deposits).each do |account, d| if d.status? acct_bal = account.balance.to_f + d.amount.to_f account.update!(balance: acct_bal) puts account.user.username puts account.balance print "Deposit Added" else acct_bal = account.balance.to_f + 0.00 account.update!(balance: acct_bal) puts account.user.username print "Deposit Unverifed" end end end print "command run .........." end

Bt de alguna manera estoy recibiendo este error

 /Users/fortune/.gem/ruby/2.7.2/gems/json-1.8.6/lib/json/common.rb:155: warning: Using the last argument as keyword parameters is deprecated daveskeen24@gmail.com DayTon 0.0 DayTon Commands working here error begins on the next paragrahrails aborted! NoMethodError: undefined method `status?' for nil:NilClass /Users/fortune/sites/current/dapps/dayton/lib/tasks/deposits.rake:77:in `block (4 levels) in <main>' /Users/fortune/sites/current/dapps/dayton/lib/tasks/deposits.rake:76:in `each' /Users/fortune/sites/current/dapps/dayton/lib/tasks/deposits.rake:76:in `block (3 levels) in <main>'

Qué debo hacer.....???????????????????

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Probablemente tenga menos @ @accounts @deposits por lo que d es nulo, ese es el comportamiento de zip https://apidock.com/ruby/Array/zip

Si pienso correctamente, lo que necesita es tener un enlace en la base de datos entre depósitos y cuentas, luego obtenga cada cuenta y verifique todos sus depósitos relacionados.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda