ruby-on-rails - 命名空间模型中的 Rails 关联

标签 ruby-on-rails namespaces model-associations

我正在重新开发一个应用程序并从旧应用程序迁移数据。一些模型名称将是相同的,但不是全部。

我正在编写一个 rake 任务来连接到旧数据库,读取记录,做一些事情并将结果写入新数据库。因为有些表名是相同的模型名将是相同的,所以我想像这样命名我的模型空间

module OldData
    class Account <ActiveRecord::Base
      has_many :subcriptions
      establish_connection $olddb  
    end

    class Subscription <ActiveRecord::Base
      belongs_to :account
      establish_connection $olddb  
    end
end

其中 $olddb 是连接到旧数据库所需的散列

我可以打开帐户记录并阅读它们,但帐户模型没有订阅关联。最新的 Rails 文档表明这应该可行。但事实并非如此。

有什么建议吗?

最佳答案

也许您应该尝试明确设置类名

has_many :subcriptions, class_name: 'OldData::Subscription'


belongs_to :account, class_name: 'OldData::Account' 

关于ruby-on-rails - 命名空间模型中的 Rails 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16873972/

相关文章:

ruby-on-rails - 在 Rails 3.2 上使用 simple_form gem 创建 optgroup

Java 和 SWIG : class into a package

xml - 使用 XSLT 转换 EntityObject XML 的问题

mysql - 如何通过邮政编码将一张表连接到另一张表?

ruby-on-rails - 测试与 alias_attribute 的关联

ruby-on-rails - 回形针 - 动态使用 :path

css - 仅更改一页的背景颜色(所有其他页面保持不变)

python - Python 3 中变量的简单表达式

ruby-on-rails - has_many :through 的源反射错误

mysql - Rails 查找方法没有使用我的外键