Hi Folks,
Ruby Version: 1.8.2
Rails Version: 0.14.3
I am having a problem with the ActiveRecord::Base ‘find’ method. The
problem occurs when I specify a join statement on a table that happens
to have fields with the same name. In this case, both the students and
academic_supervisor tables have id, fisrtName and lastName fields.
Notice the differences between these to calls. The academic_supervisor
values seem to be overwriting the student values.
Call #1:
irb(main):040:0* puts Student.find( :first ).to_yaml
— !ruby/object:Student
attributes:
lastName: Smith
academic_supervisor_id: “13”
firstName: Bob
id: “8”
=> nil
Call #2 (with join)
irb(main):049:0* puts Student.find( :first, :joins => ‘JOIN
academic_supervisors on academic_supervisors.id =
students.academic_supervisor_id’ ).to_yaml
— !ruby/object:Student
attributes:
lastName: ‘’
academic_supervisor_id: “13”
firstName: ‘’
id: “13”
=> nil
Am I missing something here? Is this a known issue? Is there a
work-around? BTW, I am using the ‘paginate’ method in my app, so
find_by_sql is not an option.
TIA!