2012-07-24 33 views
6

Giả sử tôi có kiểu A và kiểu B có các trường a_id a2_id. Tôi muốn có một cái gì đó như:Nhiều đường ray thuộc về cùng một lớp

class B 
    belongs_to :a 
    belongs_to :a (using a2) 
end 

Có ai biết làm thế nào tôi sẽ làm điều này? Tôi đang cố gắng sử dụng lớp B để liên kết các đối tượng tương tự trong DB của tôi.

Trả lời

6

Bạn có thể làm điều này

class B 
    belongs_to :a 
    belongs_to :a2, foreign_key: 'a2_id', class_name: 'A' 
end 
+0

Cảm ơn, tôi sẽ cung cấp cho một thử này tối nay. – joncalhoun

2

hoặc ngay cả điều này:

class B < ActiveRecord::Base 
    attr_accessible :a2_id, :a_id, :name 
    belongs_to :a 
    belongs_to :a2, class_name: "A" 
end 
Các vấn đề liên quan