使用点而不是/在路径DELETE方法中路由

时间:2016-07-29 23:07:57

标签: ruby-on-rails rest erb

我在rails应用程序中的删除按钮返回以下错误:

No route matches [DELETE] "/requests.3"

我不确定为什么。

这是请求视图中的按钮链接(使用bootstrap 3):

<%= link_to '<i class="glyphicon glyphicon-remove"></i>'.html_safe,
    requests_path(request), method: :delete,
    data: { confirm: 'Are you sure?' },  class: 'btn btn-danger' %>

在我的路线中:

delete 'requests/:id' => 'requests#destroy'

在控制器中我有

def destroy
  @request = Request.find(params[:id])
  @request.destroy
  redirect_to action: 'index', status: 303
end

任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

我想要解决的问题是手动指定<%= link_to标记

中的路径
<%= link_to '<i class="glyphicon glyphicon-remove"></i>'.html_safe,
"/requests/#{request.id}/destroy", method: :delete, 
data: { confirm: 'Are you sure?' },  class: 'btn btn-danger' %>

这似乎有效。