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

390
Views
¿Cuál es la diferencia entre usar pertenencia_a.atributo y pertenencia_a[:atributo] en un modelo?

¿Existe la posibilidad de que los métodos a continuación produzcan valores diferentes, como por el caché o algo así?

 class User < ActiveRecord::Base belongs_to :school def first_value school.name end def second_value school[:name] end end
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Por lo general, no hay diferencia entre llamar a un atributo por su nombre o usar el método [] porque el método captador de nombre de atributo usa el método [] internamente. Y, por lo tanto, ambos devuelven el valor de ese atributo después de que se haya encasillado.

Pero puede haber una diferencia entre ambos métodos cuando el método de captación de atributos se sobrescribe en su aplicación. Imagina que el método se sobrescribió así

 def name self[:name].presence || 'NN' end

Entonces school.name devolvería el de la escuela si la escuela tiene un nombre pero devolvería la cadena 'NN' si el nombre estuviera en blanco. Mientras que school[:name] aún devolvería el valor original de la base de datos, lo que significa que aún devolvería nil si no se ha establecido el nombre de la escuela.

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!