0

在我的网站上为 PayPal 指定返回 URL 时,我收到以下错误:

没有路线匹配 [POST] "/"

我想为该POST方法指定一个默认路由。

如何使默认'root'路由也接受POST请求?我可以为和请求指定单独'root'的路由吗?POSTGET

我的路线目前看起来像这样:

root GET / refinery/pages#home

顺便说一句,我正在使用 Refinery CMS

4

2 回答 2

1

最后对我有用的是一个match加号redirect

match "/" => redirect("/"), :via => :post

这将POST请求/转换为GET请求。否则,请求会转到正确的路由,但它仍然是POST请求,这使得我的会话未加载。我仍然不确定为什么一个POST请求/没有加载我在去 PayPal 并回来之前的原始会话。

于 2013-01-10T21:50:10.020 回答
1

我认为root 一个GET请求,它“想要”指定如果应用程序仅由域名调用(或引擎的挂载路径),它应该如何回答。

您可以尝试使用

match "/", :via => :post ...

但是如果您允许返回问题:您为什么坚持 PayPal 应该发布到您的根 URL?您应该可以在那里指定任意 URL,只需定义一个

match "postback" => "...", :via => :post

一切都好。

顺便说一句:sanny Sin 要求你发布命令的输出,rake routes在你的命令行上输入它(并且最有可能省略炼油厂路线:-)

于 2013-01-10T13:40:29.127 回答