0

我有两个模型之间has_manybelongs_to关联如下:

class Section < ActiveRecord::Base
 self.primary_key = 'id'
 has_many :rights
end

class Right < ActiveRecord::Base
 self.primary_key = 'id'
 belongs_to :section
end

SECTION 表也有 ID 和 SECTION_ID 列。上面的代码通过节表中的 ID 列将 Right 与节相关联。我希望它通过 SECTION_ID 列关联。我怎么做?

4

2 回答 2

1

编辑:在第二次阅读时,我想我误解了你的问题,你真的想与 Section 表中的主键以外的字段相关联吗?这不是很常见,因此我的误解。

您需要使用:primary_key => 'field_name'而不是:foreign_key

belongs_to :section, :primary_key => 'section_id'
于 2013-05-21T09:31:46.883 回答
0

像这样试试

class Section < ActiveRecord::Base
 self.primary_key = 'id'
 has_many :rights
end

class Right < ActiveRecord::Base
 self.primary_key = 'id'
 belongs_to :section, :foreign_key => "section_id"
end
于 2013-05-21T09:32:25.143 回答