2012-02-13 55 views
1

您能帮我解决以下问题吗?我知道这是基本的,但我似乎错过了一些非常基本的东西。当我介绍':编辑'的东西似乎出错了,虽然我指的是正确的类名。谢谢你的帮助。NameError:未定义的局部变量或方法

我定义我的模型 '页面',如下 -

class Page < ActiveRecord::Base 

    belongs_to :subject 
    has_many :sections 
    has_and_belongs_to_many :editors, :class_name => "AdminUser" 

end 

我AdminUser.rb定义如下

class AdminUser < ActiveRecord::Base 


    has_and_belongs_to_many :pages 
    has_many :section_edits 

    scope :named, lambda {|first,last| where(:first_name => first, :last_name => last)} 

end 

但是当我去轨控制台和类型

Loading development environment (Rails 3.2.1) 
>> page.editors 
NameError: undefined local variable or method `page' for main:Object 
from (irb):1 
+0

嗨,是否区分大小写?你有类页面,然后在你有page.editors错误小写 – Downpour046 2012-02-13 18:03:59

+0

对不起,不起作用。 – 2012-02-14 13:11:16

回答

0

你在哪里初始化'页面'?拥有的编辑人员属于特定页面,而不是普通页面。钓鱼一页:page = Page.find([某些标准])。然后page.editors将返回该页面的编辑器。

0

嘿,我正在做同样的培训视频,你正在做,并有同样的问题。我所做的是重新观察'多对多协会:简单'视频,并确保我的代码完全像教练一样复制,并确保保存!当我完成更改代码时.rb文件。我发现我已经像教师一样复制了代码,但在启动我的Rails控制台之前没有保存一个.rb文件,所以我收到了错误消息。另外,在插入教师告诉您要做的代码(并保存.rb文件)后,请确保退出Rails控制台并重新启动它,以便更新所有.rb文件。我希望这可以帮助你!其他

有一两件事,我没有在我的admin_user.rb行

has_many :sections_edits 

。这可能是因为你比我更远,我不确定这是否会有所作为。祝你好运,让我知道你是否需要进一步的帮助,因为我们正在通过相同的培训教程。

相关问题