在共享托管服务器上运行Ruby on Rails应用程序的问题

我在共享托管服务器上安装任何 Ruby On Rails应用程序时遇到问题。 Mongrel将html显示为所有页面的纯文本。 任何应用程序都会出现问题,即使我创建一个测试空应用程序并添加一个脚手架视图而不更改任何内容。

看起来Mongrel在尝试将cookie放入响应头时崩溃了。 HTTP标头看起来不完整,缺少Content-type和其他参数:

curl 127.0.0.1:12002/users -I HTTP/1.1 200 OK Connection: close Date: Wed, 26 May 2010 09:46:50 GMT Content-Length: 0 

这是mongrel.log的输出

 Error calling Dispatcher.dispatch # /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/cgi.rb:108:in `send_cookies' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/cgi.rb:136:in `out' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/http_response.rb:65:in `start' 

ruby1.8.7导轨2.3.8杂种1.1.5

这是测试页面的链接 。

有没有人见过这样的东西?

这个解决方法修复了我的: https : //rails.lighthouseapp.com/projects/8994/tickets/4690#ticket-4690-23

它基本上是在config / initializers下添加这个mongrel.rb

http://gist.github.com/471663

在我的情况下,使用“mongrel_rails”命令运行mongrel时出现了这个确切的问题。 使用“script / server”命令(如果它存在,它也会启动mongrel)解决了这个问题。

也许您可以写信给您的虚拟主机提供商来检查这一点。

我发布了一个解决方案:

https://rails.lighthouseapp.com/projects/8994/tickets/4690

请让我知道这对你有没有用。

谢谢,迈克C.