我試圖刪除,而不是銷燬(這也不起作用),記錄作爲Rails的學習練習。NoMethodError,ActiveRecord 4.0
在rails控制檯中,我執行:subject.pages.delete(second_page)
,我得到下面的錯誤信息(與嘗試銷燬相同)。
NoMethodError: undefined method `name' for nil:NilClass
在subject.pages是:
=> #<ActiveRecord::Associations::CollectionProxy [#<Page id: 2, subject_id: 1, name: "First Page", permalink: "first", position: 1, visible: false, created_at: "2016-08-19 17:58:02", updated_at: "2016-08-19 17:58:02">, #<Page id: 3, subject_id: 1, name: "Second Page", permalink: "second", position: 2, visible: false, created_at: "2016-08-19 17:59:07", updated_at: "2016-08-19 17:59:07">]>
主題有一個與頁面中的關係。頁面belongs_to主題。
Ed1:它看起來像'second_page'是一個局部變量。所以當我退出Rails控制檯時。我無法重新創建問題,但我仍然無法刪除此記錄。 Edd2:所以,我決定繼續學習,直到我用ERB呼叫subject.pages.size
,我纔沒有遇到任何打嗝。再次,我得到了一個'NoMethodError',html.erb文件不會呈現。我應該在哪裏檢查以確保我正確地聲明頁面?我仔細檢查了老師的代碼,它看起來都是一樣的(我可能會錯過一些小問題),但我迷失於如何在我的應用程序中修復這個錯誤。
Ed3(最後):我刪除了創建的表並重新開始。我不確定實際的解決方案是什麼,但我認爲改變控制器中的關係確實有幫助。感謝您的幫助。
使用:Rails的4.0.0,4.0.0的ActiveRecord,MySQL的14年5月17日(如果需要更多信息,我會及時更新)
我很抱歉。頁面屬於_主題。但我仍然有問題。 –