我有一个Rails Movie应用程序。很明显,还有一张电影桌。电影CCD_ 1和评论CCD_。评论也是belongs_to :user
,所以当新用户对电影发表评论时,该评论将显示在他们的users#show
页面上。
如果电影上的用户评论,则评论将显示在其页面上。我也可以去localhost:3000/comments/:id
查看该评论的显示页面
现在我的问题是:
如果我销毁或删除带有该评论的电影,该评论实际上不会被删除。我仍然可以转到localhost:3000/comments/:id
,如果我转到users/:id/reviews
(显示用户评论的地方),我会得到一个错误,因为该评论仍在显示,并且仍然属于电影。所以我得到了一个这种类型的错误Unable to find Movie with id = 58
在Movies_controller.rb
has_many :comments, :dependent => :destroy
0中有没有办法说,当电影被删除时,也可以用movie_id => params[:id]
删除所有评论
还有另一种删除电影评论的方法:
def destroy
@movie = Movie.find(params[:id])
@movie.comments.delete_all
@movie.destroy
end