0

我有这两张表:

colors
- id
- name
- name_code

cars
- id
- manufacturer
- color_code_name

(在列中colors.name_codecars.color_code_name是相同的值)

我想获得所有具有相应颜色的汽车。我试图建立这些关联:

class Color < ActiveRecord::Base
  has_many :cars, :primary_key => "name_code"
end
class Car < ActiveRecord::Base
  belongs_to :color, :primary_key => "color_code_name"
end

但不幸的是,这不起作用......我还没有指定这种关联,所以我不太确定,是否可以做到......

我会感谢每一个建议

4

2 回答 2

1

尝试这个:

class Color < ActiveRecord::Base
  self.primary_key :name_code
  has_many :cars, :foreign_key => :color_code_name
end

class Car < ActiveRecord::Base
  self.primary_key :color_code_name
  belongs_to :color, :foreign_key => :color_code_name
end
于 2012-06-04T16:06:09.887 回答
0

需要在主键分配中添加一个 = (无论如何对于 rails 3.1)

class Color < ActiveRecord::Base
  self.primary_key = :name_code
  has_many :cars, :foreign_key => :color_code_name
end

class Car < ActiveRecord::Base
  self.primary_key = :color_code_name
  belongs_to :color, :foreign_key => :color_code_name
end

感谢你的回答。这就是我要找的

于 2012-09-12T17:29:59.527 回答