在我的网站上为 PayPal 指定返回 URL 时,我收到以下错误:
没有路线匹配 [POST] "/"
我想为该POST
方法指定一个默认路由。
如何使默认'root'
路由也接受POST
请求?我可以为和请求指定单独'root'
的路由吗?POST
GET
我的路线目前看起来像这样:
root GET / refinery/pages#home
顺便说一句,我正在使用 Refinery CMS
在我的网站上为 PayPal 指定返回 URL 时,我收到以下错误:
没有路线匹配 [POST] "/"
我想为该POST
方法指定一个默认路由。
如何使默认'root'
路由也接受POST
请求?我可以为和请求指定单独'root'
的路由吗?POST
GET
我的路线目前看起来像这样:
root GET / refinery/pages#home
顺便说一句,我正在使用 Refinery CMS
最后对我有用的是一个match
加号redirect
:
match "/" => redirect("/"), :via => :post
这将POST
请求/
转换为GET
请求。否则,请求会转到正确的路由,但它仍然是POST
请求,这使得我的会话未加载。我仍然不确定为什么一个POST
请求/
没有加载我在去 PayPal 并回来之前的原始会话。
我认为root
是一个GET
请求,它“想要”指定如果应用程序仅由域名调用(或引擎的挂载路径),它应该如何回答。
您可以尝试使用
match "/", :via => :post ...
但是如果您允许返回问题:您为什么坚持 PayPal 应该发布到您的根 URL?您应该可以在那里指定任意 URL,只需定义一个
match "postback" => "...", :via => :post
一切都好。
顺便说一句:sanny Sin 要求你发布命令的输出,rake routes
在你的命令行上输入它(并且最有可能省略炼油厂路线:-)