2012-10-19 17 views
4

因此,在我的rails应用程序中,我的某个页面上有一个button_to。当我点击页面上的按钮时,它会转到相应的操作并执行我想要的任何操作,但是:它使用GET请求。当我查看网络下的chrome控制台时,它使用GET请求显示它。Rails button_to指定发布时使用获取请求

当我第一次注意到这一点时,我在我的笔记本电脑上通过无线连接到互联网上运行rails服务器,并且使用我的ipad连接到该服务器(用于测试目的),连接速度很慢,因此当点击参数按钮在地址栏中显示几秒钟。我不想要这个。

所以,这促使我做一些检查,正如我所说,在铬网络选项卡下它显示一个获取请求,并在我的路由中指定:via => :post,然后转到它打破的页面。它说没有路线匹配[GET] /----。当我删除:via => :post它工作正常。这确认它使用GET请求,当点击button_to时,转到/----页面。

我试过在button_to中指定method = post,尽管rails api表示它默认为一个帖子。

任何人都可以提供一些洞察,为什么它使用“获得”而不是'后'?如果可能的话,我会更喜欢它使用post。

+1

这个按钮是表单的一部分吗?操作方法被指定为表单的一部分,而不是按钮本身。 – Doon

+0

我注意到并修复了我的错误后,我实际上没有注意到您的评论。但是,如果我始终没有找到答案,那么你最终已经看到了你的评论,因此你对头部先生的评论很感谢。 – user1759942

回答

1

我考虑删掉这个问题,但我想我只是发布答案。

在我的button_to页面上,我有一个带有文本框的窗体。这些包含我不想坐在url中的半敏感数据,但我需要传递到下一页。 button_to提交所述表单并重定向到适当的页面。在我指定的表格标签method=get中。我只注意到了这一点。最大的面掌今年的时刻。感谢任何人阅读并认为我的问题。

+0

+1,因为它可以帮助某人解决问题。 (对于我正在寻找的人来说,这是一个不同的问题,但仍然存在)。 – ootoovak

相关问题