Ruby on rails 无法删除属于其他资源的资源

Ruby on rails 无法删除属于其他资源的资源,ruby-on-rails,path,resources,Ruby On Rails,Path,Resources,我有这样组织的资源: resources :tickets do resources :comments end 当我尝试使用此类链接从票证中删除评论(它们都列在其中)时: | 我有一个错误: 没有路由匹配{:action=>“show”,:controller=>“comments”,:id=>“5”}缺少必需的键:[:ticket\u id] 正如我所想,对于这个ticket\u comment\u路径(c)id应该是一个注释的id,应该填充ticket\u id 但不知

我有这样组织的资源:

 resources :tickets do
    resources :comments
 end
当我尝试使用此类链接从票证中删除评论(它们都列在其中)时:


| 
我有一个错误: 没有路由匹配{:action=>“show”,:controller=>“comments”,:id=>“5”}缺少必需的键:[:ticket\u id]

正如我所想,对于这个ticket\u comment\u路径(c)id应该是一个注释的id,应该填充ticket\u id


但不知何故,my:id是一个票证id,而:ticket\u id是空的…

尝试
票证注释\u路径(@ticket,c)
-嵌套资源需要两个id都正确。您可以通过运行
rake routes | grep comment
查看路由,您将看到类似
DELETE/tickets/:ticket\u id/comments/:id
的内容。当您使用嵌套资源时,url将如下所示

/tickets/:ticket_id/comments/:id
<%= link_to "Delete", ticket_comment_path(@ticket.id, c), method: :delete, data: {confirm: "Are you sure?"} %>
因此,要删除注释,您需要传递两个参数
ticker\u id
comment\u id
。您的delete
链接到
应该如下所示

/tickets/:ticket_id/comments/:id
<%= link_to "Delete", ticket_comment_path(@ticket.id, c), method: :delete, data: {confirm: "Are you sure?"} %>

来源:

Try
ticket\u comment\u路径(@ticket,c)