0
看着guides.rubyonrails.com之間,我看到了自己的語法加入:ActiveRecord的:許多一對多和一對一許多相同的兩款車型
class Employee < ActiveRecord::Base
has_many :subordinates, :class_name => "Employee",
:foreign_key => "manager_id"
belongs_to :manager, :class_name => "Employee"
end
我想要做的就是更多的東西是這樣的:
class Project < ActiveRecord::Base
has_many :workers, :class_name => "Employee",
:foreign_key => "manager_id"
belongs_to :manager, :class_name => "Employee"
end
也許我可以多態定義關係:
class Project < ActiveRecord::Base
belongs_to :manager, :polymorphic => true
has_many :employees
end
class Employee < ActiveRecord::Base
has_many :projects, :as => :manager
end
所以我猜的關係我期待的是有點像一個HABTM,但具有和屬於之間的具體區別。有任何想法嗎?
所以對於STI,我會定義爲項目'belongs_to的:經理:foreign_key => 「經理標識」 \ n的has_many:工人:通過=>:worker_shift' ?假設我有一個單獨的WorkerShift模型,並且在Worker子類中定義了hmt關聯。 – Xavier
其實從來沒有。經理和工人不應該是相互排斥的,所以我只會使用第一種方法。謝謝! – Xavier