Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

212
Views
método indefinido 'vacío?' para #<PG::Resultado:0x007fcc82900a78>

Migramos nuestra base de datos de sqlite3 a postgreSQL. Ahora, en la siguiente línea, obtenemos un error:

 def self.get_table_id(id) sql = "SELECT id FROM configtables WHERE parent = 'check' AND parentid = " + id.to_s results = connection.execute(sql) return nil if results.empty? # here's where the error happens return results[0][0] end

Tengo menos conocimiento de Ruby y ActiveRecords y también con postgreSQL. ¿El valor en los results es un postgres-object , o cuál es #<PG::Result:0x007fcc82900a78> y qué pasó con la base de datos sqlite3 ?

Esta función es una de las pocas con cadenas SQL sin formato.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

empty? no está definido para PG::Result :

 PG::Result.instance_methods.include?(:empty?) #=> false

¿Para usar empty? debe convertir el resultado en una instancia de Array:

 results.to_a.empty?
over 4 years ago · Santiago Trujillo Report

0

Parece que deberías "obtener" los resultados reales del objeto PG::Result .
Una forma de hacerlo podría ser llamando to_a

Prueba lo siguiente:

 sql = "SELECT id FROM configtables WHERE parent = 'check' AND parentid = " + id.to_s results = ActiveRecord::Base.connection.execute(sql).to_a ...
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!