2011-12-11 14 views
12

ストアhas_manyのアイテム、およびアイテムを保存していない私は、新しい店を作る、それを保存、すべての良いです。私はそれに.itemsを呼び出すことができることをチェックする。Railsの3 - にhas_manyの関連がストア</p> <p>BELONGS_TO(TypeError例外)

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

しかし、私はcreateまたはvalidを呼び出そうとしますか?次の結果を返します。

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 

私はこれまでに一度も見たことがないので、頭がおかしくなりました。


EDIT:ドロップおよび再マイグレーシ後、まだ次を得る:

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

私は別のhas_many、belongs_toアソシエーション(同じプロジェクト)がすべてのポニーとユニコーンを動かしています。私はこれで何が起こっているのか理解できません。 – Galaxy

+0

Arelからのエラーのようです – clyfe

答えて

37

に他の誰がこの問題に遭遇した場合には、 は、それは項目 'は検証の問題であることが判明しましたモデル。もともと私はこれをセットアップしました:

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

スコープを:storeに設定しました。私は明示的に述べる必要がありました:store_id:

validates :name, :presence => true, uniqueness => { :scope => :store_id }   
関連する問題