我有一個Rails電影應用程序。顯然,電影表。電影has_many :comments, :dependent => :destroy
和評論belongs_to :movie
。 也有評論belongs_to :user
因此當新用戶對電影評論時,該評論將顯示在他們的users#show
頁面上。Rails依賴銷燬錯誤
如果有用戶評論對電影,評論將顯示在他們的頁面上。我也可以去localhost:3000/comments/:id
看到評論的節目頁面
現在我的問題是這樣的:
如果我再消滅或刪除影片與評論,該評論實際上本身並沒有被刪除。我仍然可以去localhost:3000/comments/:id
,如果我去users/:id/reviews
(用戶的評論顯示)我得到一個錯誤,因爲該評論仍然是顯示,仍然屬於一部電影。 所以我得到這種Unable to find Movie with id = 58
的錯誤有沒有在Movies_controller.rb
destroy action
一種方式說,當電影被刪除,同時刪除所有評論與movie_id => params[:id]
':dependent'應該是這一行中的一個符號:'has_many:comments,:dependent =>:destroy'。如果這是實際代碼中的拼寫錯誤,請修復並查看是否可以解決問題。此主題可能會幫助您解決有關「MoviesController#destroy」操作的問題:http://stackoverflow.com/questions/3547616/dependent-destroy-isnt-calling-the-destroy-method-before-the-deletion – Powers
My代碼現在不在我身邊,但我認爲在我的模型中冒號已經存在,所以這只是問題而不是代碼。編輯它。 – PMP