2011-02-22 30 views
1

經過一個非常令人困惑的下午看單表繼承,多態關聯等,我完全喪失了建立一個相當簡單的問題的正確方法。如何在rails中正確/有效地建模子類3

本質上,我需要表示不同類型的頁面。單個頁面類型將有一個可變的字段集,所以我期望將它們存儲爲不同的模型。他們將共享某些數據(例如,他們是否正在發佈)以及某些功能(例如生成頁面的靜態版本)。在研究rails如何處理事情之前,我的自然反應是認爲我需要一個Page對象和其他所有子類,但似乎這可能不是最好的。或者,似乎我可以使用多態關聯,但我很困惑如何實現這一點。

這是我第一次在一個實際的項目中使用rails,雖然我認爲我可以湊齊一些東西在一起,但我真的很感謝一些幫助選擇正確的方法。

回答

3

你在我看來正確思考。它可以是繼承或多態模型。我認爲多態模型是最好的選擇。你將有一個Page模型,然後是一個User_Page,Blog_Page或任何你想要的。這些模型中的每一個都有其他屬性不具備的屬性。多態性很容易實現。請看看這裏:http://asciicasts.com/episodes/154-polymorphic-association

相關問題