Rails,获取从命令行返回的数据

时间:2012-04-05 11:13:36

标签: php ruby-on-rails ruby command-line

在我之前的问题中,我遇到了通过命令行将参数发送到PHP文件的问题。 PHP正在发送一个json,但我只收到真或假。

上一个问题: Rails, PHP and parameters

新问题: Ruby.rb

data = system('php public/jira.php param') 
puts data

PHP

$output = array(
    "total" => $total
);

echo json_encode($output);

修改

答案:

data = JSON.parse(data)

将数据['total']#5

放入

2 个答案:

答案 0 :(得分:1)

请参阅此answer

基本上你会想要使用:

data = `php public/jira.php param`
data JSON.parse(data)
puts data['total']

而不是:

data = system('php public/jira.php param') 
puts data

答案 1 :(得分:1)

system()将返回TrueClass或FalseClass并显示输出,在控制台上尝试。

我建议,您可以在任何URL上使用open方法来调用它,这样您就可以使用它来调用PHP脚本:

require 'open-uri'

open('YOUR PHP SCRIPT PATH WITH PARAMETER') do |response|
  content = response.read
end

或以下链接可以帮助您。

6 Ways to Run Shell Commands in Ruby