微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – Rails 3 – has_many关联不保存(TypeError)

存储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
 => []

但是当我尝试调用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

解决方法

如果有人遇到这个问题,
原来是“Item”模式的验证问题.本来我已经设置了:
validates :name,:presence => true,uniqueness => { :scope => :store }

范围刚刚设置为:存储.原来我需要显式声明:store_id:

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

原文地址:https://www.jb51.cc/ruby/272374.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐