Gal*_*axy 12 activerecord ruby-on-rails ruby-on-rails-3
存储has_many项目和项目belongs_to商店
我做了一个新的商店,保存它,一切都很好.我检查一下我可以打电话给.items.
ruby-1.9.2-p290 :063 > s.items
Item Load (0.3ms) SELECT "items".* FROM "items" WHERE "items"."store_id" = 12
=> []
Run Code Online (Sandbox Code Playgroud)
但是当我尝试调用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
Run Code Online (Sandbox Code Playgroud)
我之前从未见过以下错误,所以它正在努力!
编辑:经过一次下降和重新移动,仍然得到以下内容:
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
Run Code Online (Sandbox Code Playgroud)
Gal*_*axy 37
如果其他人遇到这个问题,那么结果是'Item'模型的验证问题.最初我有这个设置:
validates :name, :presence => true, uniqueness => { :scope => :store }
Run Code Online (Sandbox Code Playgroud)
将范围设置为:store.原来我需要明确说明:store_id:
validates :name, :presence => true, uniqueness => { :scope => :store_id }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2110 次 |
| 最近记录: |