我有这两个表:
colors
- id
- name
- name_code
cars
- id
- manufacturer
- color_code_name
(列colors.name_code
和cars.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
但遗憾的是这不起作用......我没有指明这种关联,所以我不确定,是否有可能做到这一点......
我会感激每一个建议
答案 0 :(得分: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
答案 1 :(得分: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
感谢您的回答。这就是我在寻找的东西