【问题标题】:rails 3, multiple database connections and setting up modelsrails 3,多个数据库连接和设置模型
【发布时间】:2010-12-10 23:43:45
【问题描述】:

在处理多个数据库连接并设置模型以处理这些不同的实例时,如何设置 has_many、has_one、belongs_to 等?

例如:

我有一个读 + 写数据库,另一个数据库实例在我的 Rails 应用程序中用作只读。只读的数据库表我正在拉回媒体项目(视频、图像和音频)的列表。在我的 Read + Write 数据库中,我有一个 media_ratings 表。

我有一个名为 AvMedia(只读 DB)的模型和一个 MediaRating 模型(读 + 写 DB)。如何像这样设置 AvMedia 模型:has_one rating 并像这样设置 MediaRating 模型:has_many AvMedia?

对不起,如果这令人困惑...我尽力解释它。

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:

    在 AvMedia 模型中,您必须包含 has_one :rating 并确保在相应的表中您有一个 rating_id 外键。您的评分模型中还需要belongs_to :avmedia

    当您定义关系时,幕后会自动将您的表链接在一起。

    听起来您不需要 has_many 用于 AvMedia - 从您所说的看来,这是一种 1-1 关系(一个 AvMedia 有一个评级,一个评级对应一个 AvMedia)。如果这不正确,请告诉我。

    【讨论】:

    • 感谢您的帮助!这正是我一直在寻找的!我开始认为,如果您在 Rails 中使某些东西过于复杂,那么这不是正确的方法,哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    相关资源
    最近更新 更多