2012-02-13 133 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 

。這可能是因爲你比我更遠,我不確定這是否會有所作爲。祝你好運,讓我知道你是否需要進一步的幫助,因爲我們正在通過相同的培訓教程。

相關問題