2014-04-17 24 views
-1

爲了說明這一點,我對Ruby和Rails是新手,但是我已經完成了功課,並且我真的認爲我正在做這件事。所以在我的軌道控制器中,我加載了另一個名爲Input的類。我想創建一個Input類的實例,然後調用calc_value。實例方法未定義的方法錯誤

foo = Input.new "foo", 10, 120 
render json: foo.calc_value 

我知道所有的負載是否設置正確,我知道我可以正確初始化FOO(我試圖通過自身的渲染變量不調用calc_value)。但是當我調用calc_value時,我會收到一個「未定義的方法'calc_value'for#」。

這裏是我的Input類:

class Input 
    def initialize (n = "", v = 0, m = 0) 
     @name = n 
     @value = v 
     @maxValue = m 
    end 

    def calc_value 
     @value 
    end 
end 

我想這將是簡單的,我已經對類變量和方法VS實例變量和方法一遍遍閱讀一切。我的智慧在這裏結束。

+4

你在這裏顯示的任何內容都會引發這個錯誤。你確定你所有的工作都保存了嗎?輸入是否自動加載?如果沒有,你有沒有嘗試重新啓動服務器? –

+0

我覺得我很高興我正在做的事情正確,而且就像這樣簡單的解決方案一樣。我只需要重新啓動服務器。如果我現在可以給你一百萬個餅乾,我會的。謝謝:) –

+0

謝謝@PierreTasci。這是一件好事,你不能給我一百萬個餅乾,因爲我會吃掉它們。 –

回答

0

答案很簡單,我的本地服務器需要重啓。不知道爲什麼,但修復它。

0

這看起來像你的rails應用程序無法找到它認爲應該的方法。

你的班級在哪裏?爲Rails添加用戶定義類的地方是你的lib /文件夾,並在使用require進行加載後調用。請參閱this answer瞭解正確的設置類型。