1

所以跟进这个问题:从 ruby​​ on rails ssl post 收到错误的请求

我解决了这个问题,我在交易的下一步没有问题。我面临的问题是他们的响应作为 html 文档上的隐藏表单发送到 iFrame。然后表单发布到我提供给他们的 url。

我尝试让他们localhost:3000/policies/complete为帖子制作控制器操作和路由资源,但它没有显示任何内容。- 它只是说javascript error unable to load resource: localhost:3000/policies/complete

所以然后我尝试了/policies/complete(使用我的策略控制器中的对应方法complete)但由于某种原因而不是发布到该操作 - 它发布到theirwebserver.com/policies/complete显然不存在。

因此,由于看起来我必须传入整个 url 才能使其正常工作,因此表单将如下所示:<form method='Post' action='whatever whole url I give them'>

表格如下所示:

<form name="frmReturn" method="Post" action="localhost:3000/policies/hosted_checkout_complete">
    <input name="PaymentID" type="hidden" value="the value you need really badly!">
    <input name="ReturnCode" type="hidden" value="0">
    <input name="ReturnMessage" type="hidden" value="Your transaction has been approved."> 
</form>

Tl:DC 我如何设置我的应用程序来处理它?

我可以要求他们get用来将信息发回给我。如果这样更容易设置和接受,请告诉我!

4

1 回答 1

0

您需要将协议(http:// 或 https://)添加到操作的前面=

<form name="frmReturn" method="Post" action="http://localhost:3000/policies/hosted_checkout_complete">

但是,我不建议这样做……您完全错过了 Rails 路由的要点。你应该做这样的事情:

<form name="frmReturn" method="Post" action="<%= resource_url %>">

理想情况下,您会使用 Rails 表单构建器:

<%= form_for :resource, :action => 'hosted_checkout_complete' do %>
于 2012-10-12T20:55:20.283 回答