1

我在 Windows Server 2008 R2 上使用 Ruby on Rails 和 Helicon Zoo。此 Web 应用程序连接到同一域中不同服务器上的 Windows SQL Server 2008 数据库。

当我尝试以生产模式连接到我们的 SQL Server(web.config 设置为生产)时,我在 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
4

1 回答 1

0

问题不在于 Helicon Zoo。

当我重新检查 log/production.log 文件时,我注意到我收到了这样的错误:

ActionView::Template::Error (application.css isn't precompiled):

所以我在 Stackoverflow 上做了一些搜索,发现了这个问题:

rails 3.1.0 ActionView::Template::Error(application.css 未预编译)

根据 Chris Muench 的建议,我将config.assets.compile位于 config/environments/production.rb 的内容更改为 true。

在这个改变之后,一切都很好。

于 2012-09-27T13:53:33.097 回答