我一直在使用带有oracle_enhanced的Ruby 1.8 + Rails 2.3.5,它运行正常。
现在我最近在另一个文件夹上安装了Ruby 1.9.2和Rails 3.0.3,我无法让它工作。
当我创建一个简单的应用程序并访问它时,页面返回以下错误:
请安装oracle_enhanced 适配器:
gem install activerecord-oracle_enhanced-adapter
(没有这样的文件加载 - active_record / connection_adapters / oracle_enhanced_adapter)
我试图调查问题,发现Ruby正在使用的文件夹,即C:\ Ruby192 \ lib \ ruby \ gems \ 1.9.1 \ gems \ activerecord-3.0.3 \ lib \ active_record \ connection_adapters。在该文件夹中没有oracle_enhanced_adapter.br文件。
该文件位于另一个文件夹C:\ Ruby192 \ lib \ ruby \ gems \ 1.9.1 \ gems \ activerecord-oracle_enhanced-adapter-1.3.1 \ lib \ active_record \ connection_adapters。我试图将此文件夹中的所有rb文件复制到另一个文件夹中,但仍然出现错误但更改了:
请安装oracle_enhanced 适配器:
gem install activerecord-oracle_enhanced-adapter
(错误:ActiveRecord oracle_enhanced 适配器无法加载ruby-oci8 图书馆。请安装ruby-oci8 宝石。)
我注意到我的旧Ruby安装(1.8)具有相同的文件/文件夹结构,并且oracle_enhanced可以工作。
如果我在IRB上手动测试连接它工作正常,问题只出在Rails上。
有没有人有线索?
我现在正在使用Webrick,我的宝石列表如下:
abstract (1.0.0)
actionmailer (3.0.3)
actionpack (3.0.3)
activemodel (3.0.3)
activerecord (3.0.3)
activerecord-oracle_enhanced-adapter (1.3.1)
activeresource (3.0.3)
activesupport (3.0.3)
arel (2.0.6)
builder (2.1.2)
bundler (1.0.7)
cgi_multipart_eof_fix (2.5.0)
erubis (2.6.6)
gem_plugin (0.2.3)
hoe (2.8.0)
i18n (0.5.0)
mail (2.2.13)
mime-types (1.16)
minitest (1.6.0)
mongrel (1.1.5 x86-mingw32)
oracle_enhanced (1.2.5)
polyglot (0.3.1)
rack (1.2.1)
rack-mount (0.6.13)
rack-test (0.5.6)
rails (3.0.3)
railties (3.0.3)
rake (0.8.7)
rdoc (2.5.8)
ruby-oci8 (2.0.4 x86-mingw32)
sqlite3-ruby (1.3.2 x86-mingw32)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.23)
谢谢。
答案 0 :(得分:3)
在Rails 3中,你必须在Gemfile中指定所有的gem依赖项。请参阅带有ruby-oci8和oracle_enhanced适配器的Gemfile示例:https://github.com/rsim/rails3_oracle_sample/blob/master/Gemfile
在Gemfile中指定gem依赖项后,您需要运行bundle install
以确保安装了所有必需的gem。之后,您应该能够使用oracle_enhanced适配器。