我计划将 Spree 用于购物网站,但有时需要使用银行提供的 PHP 程序签署一些数据。我能想到的唯一选择是链接到运行 PHP 程序并返回 Spree 的 somePage.php。有没有更简单的方法,比如发送到 Ruby 中的某个 PHP shell?或更改视图以具有 php 扩展名?任何帮助,将不胜感激。
问问题
39 次
1 回答
0
好吧,首先我会检查在 Ruby 中签署数据的原生 Ruby 方式。首先查看 Spree 文档,或者查看您的银行规范(它们通常非常糟糕,以银行家如何编写合同为例,他们不擅长编写软件规范)。
作为第二种选择,如果你有 PHP 程序,你应该尝试用 Ruby 翻译它。
如果这不是您的选择,那么您可以像这样使用open4:
status = Open4::popen4("/path/to/php bank_code.php #{data_to_sign}") do |pid, stdin, stdout, stderr|
out_msg = stdout.read
err_msg = stderr.read
logger.error "out_msg #{out_msg}"
logger.error "err_msg #{err_msg}"
end
handle_error_case if status.existatus != 0
干杯,
于 2013-04-18T22:21:46.597 回答