如何删除rails中多态关联中的一条记录?

How to delete a record in the polymorphic association in rails?

我一直在关注这个网站上的多态关联示例 https://www.richonrails.com/articles/polymorphic-associations-in-rails#comments

遗憾的是,作者没有提供在人模型或业务模型下如何删除交互的示例。

我有interactions_controller.rb

def destroy
  @context = context
  @interaction = @context.interactions.find(params[:id])
  @interaction.destroy
end

在routes.rb

resources :business do
  resources :interaction
end

在 businesses/1、show.html.erb 中,它列出了所有交互。

<% link_to 'delete', business_interaction_path([@business, interaction]), method: :delete, data: {confirm: 'Are you sure?'} %>

我试图用它来删除一个单独的交互,错误消息告诉我它可以找到 business.id 号码,但找不到 interaction.id 号码。

这既是多态关联又是嵌套资源,所以我搞糊涂了。

你能告诉我我做错了什么吗?请您在回答之前必须先了解本教程?谢谢!

<% link_to 'delete', business_interaction_path(@business, interaction), method: :delete, data: {confirm: 'Are you sure?'} %>


def destroy
  @context = context
  @interaction = @context.interactions.find(params[:id])
  @interaction.destroy
  redirect_to context_url(context)
end

删除后忘记redirect_to更正页面。这就是它一直给我错误信息的原因。