2009-03-30 15 views
12

Mam model podstawowy dla Item i skrypt do wypełnienia go z niestandardowego źródła (myślę, RSS). W pliku danych każdy element jest oznaczony numerem guid; w moim systemie pozycja ma tylko wygenerowany automatycznie klucz podstawowy id.co się stanie, jeśli użyjesz belongs_to bez odpowiedniego has_one?

chcę mieć, powiedzmy, ItemFeedInfo który mapuje guid->id (tak, że można rozróżnić nowych vs. zmodyfikowany pozycji)

myślę tworzenia

class ItemFeedInfo 
    belongs_to :Item 
end 

bym nie preferują zmodyfikować Item, ponieważ jego definicja jest logicznie niezależna od ItemFeedInfo Jednak każdy przykład, jaki mogę znaleźć przy użyciu belongs_to, wspomina o odpowiedniku has_one. Czy jest to wymagane?

Odpowiedz

16

To nie ma znaczenia.

belongs_to po prostu dodaje niektóre metody do klasy ItemFeedInfo. Wiesz, kiedy robisz item_feed_info.items.find_all ... items to tylko metoda, która została dynamicznie dodana, gdy zadzwoniłeś pod numer belongs_to.

Jeśli nie modyfikujesz klasy Item, po prostu nie będziesz dodawać metod po drugiej stronie. Nie będziesz w stanie wykonać item.item_feed_infos.find_all, ponieważ bez dodania has_many :item_feed_infos ta metoda nie zostanie dodana do klasy Item, ale jeśli nigdy nie będziesz tego potrzebować, nie będzie to miało znaczenia.

+0

Wielkie dzięki. Nie mogłem znaleźć tej informacji nigdzie indziej (może powinienem wyglądać ciężej ...). – lnreddy

Powiązane problemy