新手问题 button_to 与 link_to 产生不一样的效果

weeweee · 2012年08月04日 · 最后由 weeweee 回复于 2012年08月05日 · 3659 次阅读

rails3.2.6 用<%= button_to "Checkout", new_order_path %>时,就返回一个‘No route matches [POST] "/orders/new"’的 route 错误,也用过<%= button_to "Checkout", new_order_path, :method => :get %>还是同样的错。 但是使用<%= link_to "Checkout", new_order_path %>时就完全没有问题了。这是咋回事嘞?谁能给解释一下。 以前也用过 button_to 这样写过,就没出过错……莫非是因为我升了 rails 的版本导致的?

我觉得 button_to 这种东西很蛋疼 还是比较倾向于弄一个 button 样子的 link,比如这个页面右边的"发布新帖"

你可以看一下button_to的文档 https://github.com/rails/rails/blob/master/actionpack/lib/action_view/helpers/url_helper.rb#L256

button_to 生成了一个form 而不是 a 你可以看看你的程序生成的 html 代码。

你可以尝试 传参 改变 form 的 method 属性,改成 get

多谢,可惜的是已经试过改 method 属性的方法了,还是多谢了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号