我正在关注一个教程,根据代码,我应该能够调用以下错误:
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
。
可以在此处找到诊断信息(来自使用pry的CLI):http://pastebin.com/xKKvSPkz
答案 0 :(得分:2)
确保定义page
和section
之间的关系:
class Page < ActiveRecord::Base
has_many :sections
end
class Section < ActiveRecord::Base
belongs_to :page
end
通过此关系,以下内容应按预期工作:
page = Page.find(1)
page.sections.size