储存has_many项,且一个项所属的_Store
我新开了一家商店,保存下来,一切都很好。我检查我可以在其上调用.items。
ruby-1.9.2-p290 :063 > s.items
Item Load (0.3ms) SELECT "items".* FROM "items" WHERE "items"."store_id" = 12
=> []
但是当我尝试调用create或有效吗?它返回以下内容:
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
我之前从未见过以下错误,因此请注意!
编辑:一滴并迁移后,仍然获得以下内容:
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
最佳答案
万一其他人遇到这个问题,
事实证明这是“项目”模型的验证问题。本来我是这样设置的:
validates :name, :presence => true, uniqueness => { :scope => :store }
范围仅设置为:store。原来,我需要明确声明:store_id:
validates :name, :presence => true, uniqueness => { :scope => :store_id }