使用 Activerecord(在 postgresql 数据库上)该程序应该在表“cars”和“car_parts”之间进行简单的内部连接。两个表都存在于数据库中,都填充了数据,并且键由 activerecord 约定命名(即,两个表中的主键都命名为“id”;链接到“cars”的“car_parts”中的外键命名为“car_id” )。我通过在 Activerecord 中使用“include”和“join”尝试了两种选择——不幸的是,两者都失败了,并显示以下消息。任何帮助表示赞赏,谢谢!我的程序:
require 'active_record'
ActiveRecord::Base.establish_connection(
# details left out
)
class Car < ActiveRecord::Base
has_many :car_parts
end
class Car_Part < ActiveRecord::Base
belongs_to :car
end
results2 = Car.joins(:car_parts)
results2.each{|row| puts row.id}
results3 = Car.find :all, :include => [:car_parts]
results3.each{|row| puts row.id}
对于 results2 和 results3,我都会收到错误消息:“/home/myname/.rvm/gems/ruby-1.9.3-p194@global/gems/activerecord-3.2.8/lib/active_record/inheritance.rb:111:在 `compute_type' 中:未初始化的常量 Car::CarPart (NameError)"