0

我有一种情况,我一直在用头撞墙。首先,我不是 Ruby/Rails 人,但我是一名开发人员。我只知道关于它的最基本信息,但我必须让这个代码在这个服务器上运行。

它是带有 Rails 和 Ruby 1.9.3 的 Windows 2008 64 位服务器。Rails 似乎可以通过导入正常运行,并且文档服务器可以正常工作,等等。但是,当我尝试在其“服务器”中运行站点代码时,我得到了ConnectionNotEstablished错误。

我还安装了 MySQL 连接器并安装了 MySQL 绑定,尽管我认为它是内置的。这两种方法似乎都不起作用。

我需要一个修复程序或更多关于如何获得比ActiveRecord::ConnectionNotEstablished. 如果我可以获得更多跟踪信息,我可以进一步排除故障,但我只是不知道下一步该尝试什么,因为我没有足够的信息,所以我只能尝试随机的事情。

现在,这就是我得到的:

Rails 安装文件夹:c:\RailsInstaller 和 Ruby 所在的 C:\RailsInstaller\Ruby1.9.3 文件夹。

默认站点工作 - 站点文件夹:c:\sites\quote_machine,当我c:\sites\quote_machine\rail s在此文件夹中运行时,服务器加载没有错误,并出现“欢迎登机”屏幕。

数据库.yml:

development:
  adapter: mysql
  database: fb
  host: localhost
  port: 3306
  username: ******
  password: ********
  timeout: 5000

(还有一个测试和生产部分)

这是表数据库模型之一的语法:

事件组.rb

class IncidentGroup < ActiveRecord::Base
  set_table_name "incident_group"
  set_primary_key "group_id"
   belongs_to :prospect, :class_name => "Prospect", :foreign_key => "prospect_id"
   has_many :incidents, :class_name => "Incident", :foreign_key => "group_id"
end

事件.rb

class Incident < ActiveRecord::Base
  set_table_name "incident"
  set_primary_key "incident_id"
  belongs_to :incident_group, :class_name => "IncidentGroup", :foreign_key => "group_id"
end

其他重要事实:

  1. 数据库已启动并且可以直接在同一台服务器上使用 Coldfusion 正常工作,因此数据库没有任何问题。此外,当我使用 IRB 手动连接到数据库时,它似乎已连接。
  2. 该站点在运行 Rails 2.x 的 Linux 服务器上运行良好
  3. 据我所知,URL 路由是正确的,并且正在运行正确的控制器和视图。
  4. 我尝试了不同的语法变体,结果没有变化,所以我只需要帮助我在哪里可以获得更多错误信息。顺便说一句,“跟踪”并没有真正告诉我任何事情。
4

1 回答 1

1

首先尝试更改 database.yml 文件。将适配器值更改为“mysql2”,并在您的 gem 文件中确保您使用的是“mysql2”gem 而不是“mysql”。

于 2013-07-26T08:40:54.793 回答