0

@responseSage Pay からの返信があります。

VPSProtocol=2.23 Status=OK StatusDetail=Server transaction registered successfully. VPSTxId={C9B14A59-1EB7-4A56-A4B1-29B84BE4861B} SecurityKey=VGGPR12XC1 NextURL=https://test.sagepay.com/Simulator/VSPServerPaymentPage.asp?TransactionID={C9B14A59-1EB7-4A56-A4B1-XXXXXXXXXXXXX} 

これを次のハッシュに分割するにはどうすればよいですか。

@response['VPSProtocol'] = "2.23"
@response['Status'] = "OK"
....

?

(レスポンスのパラメータは改行区切りです\r\n)

4

1 に答える 1

1

あなたはこのようなことをすることができます...

response = "VPSProtocol=2.23\r\nStatus=OK\r\nStatusDetail=Server transaction registered successfully."
response_hash = {}

response.split("\r\n").map do |value|
  key, value = value.split("=")
  response_hash[key] = value
end

print response_hash

この種のマッピングを行うための便利な方法がルビーにあると確信していますが、それは簡単な解決策です。コミュニティからいくつかのより良いアイデアを聞きたいです!

于 2012-08-28T10:35:44.130 に答える