Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何使用ActiveRecord3';s的关联功能在Rails之外?_Ruby_Activerecord - Fatal编程技术网

Ruby 如何使用ActiveRecord3';s的关联功能在Rails之外?

Ruby 如何使用ActiveRecord3';s的关联功能在Rails之外?,ruby,activerecord,Ruby,Activerecord,我正在编写一个脚本,将旧的Rails2应用程序数据库转换为新的Rails3应用程序。新的应用程序是对数据库模式的重写和简化 我已经创建了一个独立于Rails的独立ruby程序来完成繁重的工作,并且正在利用ruby模块的适配器模式来操作两个数据库连接,并将数据从一个系统移动到另一个系统 我已经在我的翻译器模型中成功地实现了ActiveRecord(使用include“active_record”),并且我的所有查找和验证都按照预期工作。但是,这些关联会导致方法_缺少调用 我是否需要做一些特殊的事情

我正在编写一个脚本,将旧的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