存储has_many项目和一个Item belongs_to Store
我做一个新店,保存好,一切都好.我检查我可以在其上调用.items.
ruby-1.9.2-p290 :063 > s.items Item Load (0.3ms) SELECT "items".* FROM "items" WHERE "items"."store_id" = 12 => []
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
解决方法
如果有人遇到这个问题,
原来是“Item”模式的验证问题.本来我已经设置了:
原来是“Item”模式的验证问题.本来我已经设置了:
validates :name,:presence => true,uniqueness => { :scope => :store }
范围刚刚设置为:存储.原来我需要显式声明:store_id:
validates :name,uniqueness => { :scope => :store_id }