我正在尝试使用 native ruby 1.8 在 sqlite3 数据库之上设置事件记录。这应该很容易工作,我已经看到很多例子来解释如何做到这一点。我正在使用我发现的一些示例代码,它非常基本,并以以下几行开头:
require 'rubygems'
require 'active_record'
#require 'sqlite3-ruby'
...
ActiveRecord::Base.establish_connection(
:adapter => "sqlite3-ruby",
#:dbfile => ":memory:"
:database => ":memory:"
#:database => "/home/fgysin/bender/gen2/metaDB/testing/sql3.db"
)
ActiveRecord::Schema.define do
create_table :albums do |table|
table.column :title, :string
table.column :performer, :string
end
create_table :tracks do |table|
table.column :album_id, :integer
table.column :track_number, :integer
table.column :title, :string
end
end
但是当我运行这个例子时(它会创建一些表并打印一些简单的统计数据)我得到以下错误:
/var/lib/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:
76:in `establish_connection':
Please install the sqlite3-ruby adapter:
`gem install activerecord-sqlite3-ruby-adapter`
(no such file to load -- active_record/connection_adapters/sqlite3-ruby_adapter) (RuntimeError)
from 2nd.generation/ActiveRecordExample.rb:8
我尝试安装那个 activerecord-sqlite... gem 但在任何地方都找不到。我用谷歌搜索,也没有找到那个 gem 名称。
已安装以下与 sqlite/activerecords 相关的 gem:
(我安装了“activerecord”、“sqlite3-ruby”和“activerecord-jdbcsqlite3-adapter”,尽管后者将用于 JRuby ...)
activerecord (2.3.5, 2.3.4, 2.2.2, 2.1.0)
activerecord-jdbc-adapter (0.9.2)
activerecord-jdbcsqlite3-adapter (0.9.2)
sqlite3-ruby (1.2.5)
dbd-sqlite3 (1.2.5)
jdbc-sqlite3 (3.6.3.054)
任何人都可以建议解决我的问题吗?我真的不知道如何找到/安装 sqlite3/activerecords 所需的适配器。怎么称呼?显然不是错误消息建议的适配器,因为它在本地或存储库中找不到...
最佳答案
只是瞎猜,但你尝试过改变:
:adapter => "sqlite3-ruby",
到
:适配器=> "sqlite3",
关于ruby - 没有名为 "activerecord-sqlite3-ruby-adapter"的 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2064292/