2011-12-11 17 views
12

articoli Conservare has_many, e un elemento belongs_to ConservareRails 3 - associazione has_many non salvataggio (TypeError)

faccio un nuovo negozio, salvarlo, tutto bene. Controllo che posso richiamare .items su di esso.

ruby-1.9.2-p290 :063 > s.items 
    Item Load (0.3ms) SELECT "items".* FROM "items" WHERE "items"."store_id" = 12 
=> [] 

Ma quando provo a chiamare creare o valida? restituisce il seguente:

ruby-1.9.2-p290 :064 > s.items.create 
    Store Load (0.7ms) SELECT "stores".* FROM "stores" WHERE "stores"."id" = 12 LIMIT 1 
TypeError: Cannot visit Store 

Non ho mai visto il seguente errore prima, in modo che sta facendo la mia testa in!


EDIT: Dopo un calo e remigrate, ancora ottenere il seguente:

ruby-1.9.2-p290 :008 > Item.create(:store_id => 5) 
    Store Load (0.2ms) SELECT "stores".* FROM "stores" WHERE "stores"."id" = 5 LIMIT 1 
TypeError: Cannot visit Store 
+0

Ho un altro has_many, belongs_to associazione (stesso progetto) che sta lavorando tutti i pony e unicorni. Non riesco a capire cosa sta succedendo con questo. – Galaxy

+0

Sembra un errore proveniente da Arel – clyfe

risposta

37

Nel caso in cui nessun altro si imbatte in questa edizione, si è rivelato essere un problema di convalida con la 'voce' modello. Originariamente avevo questo set:

validates :name, :presence => true, uniqueness => { :scope => :store }   

Con lo scope impostato su: store. Si è rivelato avevo bisogno di esplicitamente Stato: STORE_ID:

validates :name, :presence => true, uniqueness => { :scope => :store_id }   
Problemi correlati