Ruby on rails 轨道相关销毁错误

Ruby on rails 轨道相关销毁错误,ruby-on-rails,model-view-controller,associations,dependent-destroy,Ruby On Rails,Model View Controller,Associations,Dependent Destroy,我有一个Rails电影应用程序。显然,有一张电影桌。一部电影有很多:注释,:dependent=>:destroy,注释属于:movie。 评论也属于:user,因此当新用户对电影发表评论时,该评论将显示在他们的用户35; show页面上 如果用户对电影发表评论,评论将显示在他们的页面上。我还可以转到localhost:3000/comments/:id查看该评论的显示页面 现在我的问题是: 如果我随后销毁或删除带有该评论的电影,该评论实际上不会被删除。我仍然可以转到localhost:3000

我有一个Rails电影应用程序。显然,有一张电影桌。一部电影
有很多:注释,:dependent=>:destroy
,注释
属于:movie
。 评论也属于:user,因此当新用户对电影发表评论时,该评论将显示在他们的
用户35; show
页面上

如果用户对电影发表评论,评论将显示在他们的页面上。我还可以转到
localhost:3000/comments/:id
查看该评论的显示页面

现在我的问题是:

如果我随后销毁或删除带有该评论的电影,该评论实际上不会被删除。我仍然可以转到
localhost:3000/comments/:id
,如果我转到
users/:id/reviews
(显示用户评论的地方),我会收到一个错误,因为该评论仍在显示,并且仍然属于电影。 因此,我得到了一个此类错误
无法找到id=58的电影


Movies\u controller.rb
destroy action
中是否有一种方法可以说明在删除电影时,还可以使用
movie\u id=>params[:id]
删除电影评论的另一种方法:

def destroy
 @movie = Movie.find(params[:id])
 @movie.comments.delete_all
 @movie.destroy
end

:dependent
应该是此行中的一个符号:
有许多:注释,:dependent=>:destroy
。如果这是您实际代码中的一个输入错误,请修复并查看这是否解决了问题。此线程可能会帮助您解决有关
MoviesController#destroy
操作的问题:我的代码现在不在我身边,但我确实认为在我的模型中冒号已经存在,因此这只是问题而不是代码的问题。编辑了它。好的,这样可以工作,但它会让用户退出。因此,通过销毁电影和评论,您也在销毁用户会话。这个问题不是来自我的代码,事实上,问题出在其他地方,我怀疑这就是您的dependent::destroy不起作用的原因。把你的日志放在销毁电影的动作上。我不是说这是因为你的代码,只是它触发了它。显示您的application.html.erb,或者检查其中是否有
。日志中有一条警告
警告:无法验证CSRF令牌的真实性
,我想这可能与此有关。