【发布时间】:2013-12-28 10:04:55
【问题描述】:
我正在学习教程,根据代码,我应该能够调用以下代码而不会出现错误:
page = Page.find(1) # works
page.sections.size # Does not work
subject = Subject.find(1) # works
subject.pages.size # works
一个部分属于_一个页面,一个页面属于_一个主题。我正在尝试计算与相应页面关联的部分的数量(在这种情况下,页面:id => 1)。
错误是Undefined Method,但我不是在访问方法,而是在访问实例变量。我已经查看了我的模型和控制器,没有为 subject.pages.size 定义范围或声明,但它可以毫无怨言地工作。我很困惑为什么它不能为它的孩子工作,page.sections 当我尝试做同样的操作时。
诊断信息(来自 CLI 使用 pry)可以在这里找到:http://pastebin.com/xKKvSPkz
【问题讨论】:
-
你的
page模型中有has_many :sections吗? -
嗯,男孩,我觉得自己像个白痴。我忘了声明关系(双向)Doh!谢谢,薇。请提交您的回复作为答案,以便我给予您信任。
-
仅供参考,您正在执行一个方法。该方法恰好是返回实例变量值的方法。请记住,如果您没有看到 @ 符号,则说明您不是在查看实例变量。
标签: ruby-on-rails pry