2010-12-07 33 views
1

假設您有一個可以屬於多個類別的書籍模型。類別是預定義的,但我們可能會讓用戶添加他自己的,即使大部分時間默認值都足夠。在rails中有多個值的屬性:布爾值,字符串和序列化或hbtm?

根據你的最佳處理方法是什麼?

a)與分類模型的多對多關係?但是,考慮到大多數時候默認類別已經足夠了,那麼這不是過度殺傷性的嗎? b)每個默認類別的布爾值和用戶輸入類別的額外字符串 C)只是一個字符串和使用序列化?但是,使用複選框輸入默認選項可能會更復雜 d)您的任何其他建議...

感謝您的時間!

感謝

回答

2

您可能需要使用HABTM。如果您想要收集有關各種類別的任何類型的信息,這並不過分;例如,創建日期。您還可以輕鬆獲取給定類別的所有書籍,而無需擔心書籍模型中的範圍。

此外,您可能希望能夠將其他對象添加到類別中。沒有太多開銷,而且設置起來很簡單,所以值得一試,恕我直言。

有關使用複選框實施HABTM的幫助,請查看HABTM Checkboxes railscast。對於HABTMhas_many :through之間的差異討論,我真的推薦Two Many-to-Many railscasts。

+0

如果你想收集有關類別的信息,那麼你需要將它設置爲:has_many:through =>關係。由於這個原因,HABTM有點不受歡迎。 – brycemcd 2010-12-07 17:27:47

相關問題