1

我的应用中有这个按钮,它位于 views/deals/mgmt.htm.erb 文件中:

<%= button_to "Deals", deals_mgmt_path, class: "btn btn-default" %>

这是我的路线文件中指定的“交易”路线:

resources :deals
get "deals/mgmt"

当我运行“rake routes”时,这是我指定的路线:

deals_mgmt GET    /deals/mgmt(.:format)                    deals#mgmt

当我单击按钮时,我收到此路由错误:

No route matches [POST] "/deals/mgmt"

为什么我的 Rails 试图在这里提交发布请求?我彻底糊涂了。提前致谢!

4

2 回答 2

2

助手button_to创建一个表单,表单POST向服务器提交请求。
检查页面,您将看到表单。对于使用 . 的请求,
您应该使用, 。link_toGET

于 2013-09-09T19:55:43.457 回答
0
You can use this: 

<%= button_to 'deals', deals_management_path, {:method => get} %>

Else
it's better to Go with link_to as by default it send get request to Server.

<%= link_to 'deals', deals_management_path %>
于 2013-09-09T20:41:21.340 回答