我在Windows Server 2008 R2上使用带有Helicon Zoo的Ruby on Rails。此Web应用程序连接到位于同一域中不同服务器上的Windows SQL Server 2008数据库。
当我尝试在生产模式下连接到我们的SQL Server(web.config设置为production)时,我在Web浏览器中收到此错误:
"We're sorry, but something went wrong."
当我将模式设置为开发并连接时,一切正常。
我的开发和生产数据库的设置在database.yml中设置完全相同。他们使用相同的用户和密码访问同一服务器上的同一数据库。 (我已经设置了这种方式进行测试,因为它不能在我们的生产sql服务器上运行)
使用Helicon Zoo时,我还需要做些什么来设置Rails的生产模式吗?
以下是ZooError.log的完整错误:
[9/25/2012 08:39:33] MakeFirstRequest - Exception
[9/25/2012 08:39:33] NamedPipeConnection::Read error!
[9/25/2012 08:39:44] ZooApplication I/O Error:
JobFastCgi:[/] _requestId:1, BACKEND_READ_COMPLETE, POST_MODE_PARTIAL
[9/25/2012 08:41:28] Status: 500 Internal Server Error
Content-Type: text/html; charset=utf-8
Content-Length: 643
X-Request-Id: a86305bf7e5530a0852e85b8ba4876c2
X-Runtime: 0.281257
Date: Tue, 25 Sep 2012 13:41:28 GMT
X-Rack-Cache: miss
<!DOCTYPE html>
<html>
<head>
<title>We're sorry, but something went wrong (500)</title>
<style type="text/css">
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
div.dialog {
width: 25em;
padding: 0 4em;
margin: 4em auto 0 auto;
border: 1px solid #ccc;
border-right-color: #999;
border-bottom-color: #999;
}
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
</style>
</head>
<body>
<!-- This file lives in public/500.html -->
<div class="dialog">
<h1>We're sorry, but something went wrong.</h1>
</div>
</body>
</html>
[9/25/2012 08:41:28] FCGI_END_REQUEST
答案 0 :(得分:0)
问题不在于Helicon Zoo。
当我重新检查log / production.log文件时,我注意到我收到了这样的错误:
ActionView::Template::Error (application.css isn't precompiled):
所以我在Stackoverflow上做了一些搜索,发现了这个问题:
rails 3.1.0 ActionView::Template::Error (application.css isn't precompiled)
根据Chris Muench的建议,我将位于config / environments / production.rb的config.assets.compile
更改为true。
在这一改变之后,一切都很顺利。