2012-04-05 2 views
1

이전 질문에서 커맨드 라인을 통해 PHP 파일로 매개 변수를 보내는 데 문제가있었습니다. PHP가 json을 돌려 보내고 있지만 true 또는 false 만 나타납니다.레일스, 명령 행에서 반환 된 데이터 얻기

이전 질문 : Rails, PHP and parameters

새로운 문제 : Ruby.rb

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

PHP

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

echo json_encode($output); 

편집 :

Ans By의 WER :

= JSON.parse 데이터 (데이터)

둔다 데이터 [ '전체'] # 5

답변

1

answer 참조.

기본적으로 사용할 수 있습니다 :

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

대신을 :

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

, 내 PHP에서 콘텐츠를받을 수 있지만 레일은 JSON으로 처리 넣은 사람은 아니다. Rails에서 : jira [ 'total']는 숫자가 아닌 전체를 나타냅니다. –

+0

흠 ... 이제 다음과 같은 오류가 발생합니다. JSON : Module에 대한 정의되지 않은 메소드'decode '. 나는 맨 위에 'json'을 요구했지만 도움이되지 않았다. –

+0

죄송합니다, 올바른 방법은'JSON.parse (data)'입니다. – Mischa

1

시스템(), TrueClass 또는 FalseClass 및 디스플레이 출력을 반환 콘솔을 시도 할 것이다.

require 'open-uri' 

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

또는 아래 링크는 당신을 도울 것입니다 :

나는 당신이 그것을 호출하는 모든 URL에 열려있는 방법을 사용할 수 있습니다, 그래서 당신은 그것을 사용하여 PHP 스크립트를 호출 할 수 있습니다, 좋습니다. 좋아

6 Ways to Run Shell Commands in Ruby

관련 문제