2009-03-30 19 views
12

Tengo un modelo básico para Item, y una secuencia de comandos para completarlo desde una fuente personalizada (piense, alimentación RSS). En el feed, cada elemento se identifica con un guid; en mi sistema, el elemento solo tiene una clave primaria autogenerada id.¿Qué pasaría si usa belongs_to sin tener un has_one correspondiente?

quiero tener, digamos, ItemFeedInfo que mapea guid->id (para que pueda distinguir entre los nuevos elementos modificados vs)

Estoy pensando en crear

class ItemFeedInfo 
    belongs_to :Item 
end 

yo no preferiría para modificar Item ya que su definición es lógicamente independiente de ItemFeedInfo Sin embargo, cada ejemplo que puedo encontrar de usar belongs_to, menciona una contraparte has_one. ¿Es requerido?

Respuesta

16

No importa.

belongs_to simplemente agrega algunos métodos a la clase ItemFeedInfo. Ya sabes cuando lo haces item_feed_info.items.find_all ... El items es solo un método que se agregó dinámicamente cuando llamaste al belongs_to.

Si no modifica la clase Item, simplemente no agregará los métodos en el otro lado. No podrá hacer item.item_feed_infos.find_all, porque sin agregar has_many :item_feed_infos, ese método no se habrá agregado a la clase Item, pero si realmente no necesita hacer esto, no importará.

+0

Muchas gracias. No pude encontrar esta información en ningún otro lado (tal vez debería mirar más duro ...). – lnreddy

Cuestiones relacionadas