Ruby 如何使用ActiveRecord3';s的关联功能在Rails之外?
我正在编写一个脚本,将旧的Rails2应用程序数据库转换为新的Rails3应用程序。新的应用程序是对数据库模式的重写和简化 我已经创建了一个独立于Rails的独立ruby程序来完成繁重的工作,并且正在利用ruby模块的适配器模式来操作两个数据库连接,并将数据从一个系统移动到另一个系统 我已经在我的翻译器模型中成功地实现了ActiveRecord(使用include“active_record”),并且我的所有查找和验证都按照预期工作。但是,这些关联会导致方法_缺少调用Ruby 如何使用ActiveRecord3';s的关联功能在Rails之外?,ruby,activerecord,Ruby,Activerecord,我正在编写一个脚本,将旧的Rails2应用程序数据库转换为新的Rails3应用程序。新的应用程序是对数据库模式的重写和简化 我已经创建了一个独立于Rails的独立ruby程序来完成繁重的工作,并且正在利用ruby模块的适配器模式来操作两个数据库连接,并将数据从一个系统移动到另一个系统 我已经在我的翻译器模型中成功地实现了ActiveRecord(使用include“active_record”),并且我的所有查找和验证都按照预期工作。但是,这些关联会导致方法_缺少调用 我是否需要做一些特殊的事情
我是否需要做一些特殊的事情来允许关联在Rails环境之外工作?我希望得到一个简单的答案,比如“你忘了需要这个密钥文件了”。下面是一个使用不带rails的activerecord的简单示例:
require 'active_record'
class Site < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :site
end
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:database => 'test',
:user => 'root'
)
s = Site.first
p s
p s.users
p s.users[0].site
需要“活动记录”
类站点“mysql”,
:database=>test',
:user=>“root”
)
s=站点优先
PS
p.s.用户
p.s.users[0]。网站
真的没有比这更多的了!
这里使用的gem是activerecord 3,但与activerecord 2的示例完全相同
PS:显然,您需要一个带有站点和用户表的测试数据库来运行此测试。您可以发布一些代码示例吗?你说的“包括“活动录制”听起来可能有问题。要使AR正常工作,您的模型类需要继承自
ActiveRecord::Base
,例如:classsomething
。