2016-11-23 76 views
-3

我不是一個新手在鐵軌,所以這是尷尬,但我不斷收到nomethoderror我不知道發生了什麼。什麼是軌道中的NoMethodError?

這是錯誤

enter image description here

,這是我的控制器

enter image description here

+2

請閱讀[如何問](http://stackoverflow.com/幫助/如何操作)文檔,並將源代碼放在純文本中而不是圖像中。 – mudasobwa

+1

請閱讀「[mcve]」,然後刪除圖像,並將消息文本複製/粘貼到問題中,以及顯示問題的_absolute minimum_代碼。 [我們無法重用圖片](http://stackoverflow.com/q/5508110/128421),搜索引擎也不能將它們編入索引,這有助於他人找到您的問題並解決他們的編碼問題。 –

回答

0

find_item要設置@post,不@item,這使得零的視圖。

1

這種情況發生時,有中,你在這種情況下accesing的情況下,不匹配的方法,在這種情況下,如果你看一下show行動,只負責find_itemfind_item只返回一個@post實例不是@item實例。

控制器

0

的ActiveRecord自動爲您獲取方法和實例的setter方法屬性只要改變@post@item@item.title@item對象上調用title方法。如果該方法未在其被調用的對象上定義,則引發NoMethodError異常。

訪問show時看到的錯誤是因爲@item實例變量未在控制器中初始化,因此在視圖文件show.html.erb中不可用,即缺省情況下爲零,Rails抱怨沒有方法標題爲nil對象(因爲零對象不具有該方法,@item@post可能取決於各自的表是否有該列)