정확하게 다음과 같은 결과를 얻기 위해 Ruby on Rails 앱의 http://pine.fm/LearnToProgram/?ShowTutorialCode=true : 과 정확히 같은 ruby cgi.rb 스크립트를 실행하려고합니다. http://pine.fm/LearnToProgram/이지만 Rails 웹 앱 안에 있습니다.Ruby on Rails에서 CGI Ruby 스크립트를 실행하는 방법은 무엇입니까?
어떻게 할 수 있습니까?
정확하게 다음과 같은 결과를 얻기 위해 Ruby on Rails 앱의 http://pine.fm/LearnToProgram/?ShowTutorialCode=true : 과 정확히 같은 ruby cgi.rb 스크립트를 실행하려고합니다. http://pine.fm/LearnToProgram/이지만 Rails 웹 앱 안에 있습니다.Ruby on Rails에서 CGI Ruby 스크립트를 실행하는 방법은 무엇입니까?
어떻게 할 수 있습니까?
나는 잘 모르겠지만, 이런 일이 적절한 솔루션 (안 테스트)이어야한다 :
match '/that.cgi' => proc { |app| Rack::Handler::CGI.run app }
으로 레일은 그것이 라우터에서 응용 프로그램의 설치 지원, 랙을 사용합니다. 나는 Rack::Handler::CGI
의 사용법에 대해서는 잘 모르지만, 문서화가 잘되어 있지 않습니다.
죄송합니다. 작동하지 않습니다. 그것은 cgi.rb 파일을 실행하는 대신 다운로드하도록했다. 어쩌면 공용 디렉토리가 아닌 bin 디렉토리에 넣어야하지만, 그러면 랙에 파일이 어디에 있는지 알 수있는 방법을 알려주시겠습니까? – Darme
죄송합니다. cgi를 레일과 함께 사용하는 사례는 솔직히 모릅니다. 'Rack :: Handler :: CGI'에 대한 문서는 없으며 (메서드 만 가능) 라우팅에 관한 레일 가이드가 있습니다. 이것은'lambda {| env | [200, "Content-Type : text", "test"]}', 단지 이것; ( – farnoy
어쨌든 고맙습니다! – Darme
나는 cgi 대신 랙을 사용할 것입니다 – farnoy
저도 마찬가지지만 기존 요구 사항입니다. – Darme
CGI 스크립트 [조용한 보안되지 않은 것으로 간주되어 사용하기에 적합하지 않음] (http://www.w3.org/Security/faq/wwwsf4.html) –