Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3-有许多关联未保存(TypeError)_Ruby On Rails_Ruby On Rails 3_Activerecord - Fatal编程技术网

Ruby on rails Rails 3-有许多关联未保存(TypeError)

Ruby on rails Rails 3-有许多关联未保存(TypeError),ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,商店有许多物品,一件物品属于商店 我开了一家新店,把它存起来,一切都好。我查一下,我可以打电话给你。上面有项目 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.cr

商店有许多物品,一件物品属于商店

我开了一家新店,把它存起来,一切都好。我查一下,我可以打电话给你。上面有项目

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
我以前从未见过下面的错误,所以它让我头疼


编辑:删除并重新混合后,仍然可以获得以下内容:

    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\u id:

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

我有另一个有很多,属于协会(同一个项目),是所有的小马和独角兽工作。我不明白这是怎么回事。这看起来像是来自阿雷尔的错误