0

我有一个 Rails 电影应用程序。显然,还有一张电影桌。一部电影has_many :comments, :dependent => :destroy和一条评论belongs_to :movie。评论也是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 destroy action说当电影被删除时,也删除所有评论movie_id => params[:id]

4

1 回答 1

1

还有另一种删除电影评论的方法:

def destroy
 @movie = Movie.find(params[:id])
 @movie.comments.delete_all
 @movie.destroy
end
于 2013-08-04T16:11:34.383 回答