2012-01-25 65 views
0

我建立Rails中一個相當複雜的Web應用程序和所遇到的,我懷疑有些也遇到過但我不能找到解決方案時一個普遍認同的問題,引用的任意資源。該問題涉及從單個模型屬性/表列引用任意類型的資源(以及任意對應的表)。我用例是一個簡單的新聞提要,其中飼料項目有如下形式:從ActiveRecord模型

id (int) 
tag (string) 
message (string) 
expiry (date) 
resource_id (string) 

「RESOURCE_ID」是該中心由飼料項目有關的資源的引用。在我的項目中,我目前採用「class_name:id」的形式。在獲取新聞訂閱源項目時,我構建了一組與此用戶擁有的資源相對應的表單字符串,並在resource_id列上運行「in」類型的查詢。這是有關注意的是,應用程序的結構是這樣的,用戶只擁有這些資源的一小(< 10)號,以便查找的效率不具有這種結構的一個問題。這只是一種冒險和非常錯誤的解決方案,我懷疑有一種更正確的方式來做我想做的事情。

回答

1

我會用兩列:RESOURCE_TYPE和RESOURCE_ID。使聯接更加規範。