2009-08-05 86 views
0

我的軌道應用程序中有'多'案例'模型多對一多態軌道協會。有很多事情都有案例,所以我通過做'thing_that_has_a_case.case'來查看每件事情的情況。多態軌道協會(倒退?)

但是,我試圖去其他方式,我不知道如何。我有權訪問該案例對象,但我想訪問正在被包裝的東西。軌道有辦法做到這一點?我可以用一個醜陋的開關來做到這一點,它爲每種類型的對象執行不同的sql查找,但我希望導軌會有更好的方法。謝謝!

回答

1

您可以添加這樣的事情你的情況的模型:

belongs_to :parent, :polymorphic => true 

..這假設你有場parent_idparent_type你的情況的模型(這取決於你如何命名改變第一個參數belongs_to這些關聯字段)。一旦你有這個,你應該能夠參考case.parent給定的案例。

而且,我只想澄清,這種關係的一個側面具有類似:

has_many :cases, :as => :parent, :dependent => :destroy 

(我假設你已經有一個工作根據您的描述)

+0

謝謝,現在的作品。 – Anon 2009-08-05 21:44:16