Rails - 数据库关系

时间:2012-03-27 19:42:19

标签: ruby-on-rails

我们说我有一辆汽车和司机dbs但是有些记录没有汽车司机。如何映射关系?

这里是我得到的代码,它会导致" NoMethodError的错误:未定义的方法`每个'为零:NilClass"

class Car < ActiveRecord::Base 
  has_one :driver, :foreign_key  => :dr_code, :primary_key  => :ca_master_code
end

class Driver < ActiveRecord::Base
  belongs_to :car, :foreign_key  => :dr_code, :primary_key  => :ca_master_code
end

请告知。

2 个答案:

答案 0 :(得分:1)

在这种情况下假设nil表示那里没有司机。这不是数据库设计问题。

如果没有司机的汽车是有效案件(而不是创建记录时的错误),那么只需处理nil案件。

答案 1 :(得分:0)

实际上,Rails做得非常好。我假设您在each上呼叫car.driver。由于汽车没有司机,car.drivernilnil.each bar。