2012-02-22 3 views
0

레일 응용 프로그램에서 sinatra 응용 프로그램을 사용하고 있습니다. 지금은 루비 1.9.2에 대한 RAN 및 3.2.1 레일 경우가레일에 sinatra 응용 프로그램을 탑재하는 동안 오류가 발생했습니다.

TypeError (no marshal_dump is defined for class Mutex) 

을 제공 /test_app 경로를 액세스하는 동안 루트

mount TestApp::Application => "/test_app" 

이 라인을 추가했다. Sinatra 앱은 mongo gem을 사용합니다.

지금 나는 그것이 오류

TypeError (can't dump TCPSocket) 

어떤 도움이 높게 평가되어 다음 부여합니다 루비 1.8.7 및 레일 3.2.1에 대한이 응용 프로그램을 실행할 때.

+0

두 앱을 직접 작성 했습니까? 걔들 뭐해? –

+0

예, 했어요. 두 응용 프로그램 모두 정상적인 응용 프로그램입니다. 우리는 이미 거기에 있었던 sinatra app을 재사용하고 있습니다. 독립 실행 형입니다. – ducktyped

+0

랙 세션에 문제가 될 수 있습니다. 나는 sinatra 응용 프로그램에서 랙 세션을 사용했다. Rack :: Session :: Pool, : expire_after => 2592000' – ducktyped

답변

-1

당신이 당신의 TestApp가 : 응용 프로그램이 필요 한 가정을 올바르게, 나는 당신의 경로 정의가 있어야한다고 생각 :

match "/test_app", :to => TestApp::Application 

더 많은 정보를 원하시면 Rails Routing from the Outside in를 참조하십시오.

+0

죄송합니다! 그러나 이것은 sinatra dir의 정적 컨텐츠를 서버하지 않습니다. 그리고 TestImage :: Application => "/ test_app"는 고정 컨텐츠 문제를 해결할 수있는 유일한 방법입니다. – ducktyped

+0

조금 가혹한 것 같습니다 ... 질문에 정적 컨텐츠를 언급하지 않았습니다. 위의 제안은 어떻게 잘못 되었습니까? 나는 마운트가 라우팅을 위해 사용한다는 인상 아래에 있었습니까? [http://living5to9.com/2011/11/rails-routes-match-and-mount](http://living5to9.com/2011/11/rails-routes-match-and-mount/) –