Ruby on Rails - 遗留数据库模型关联失败

时间:2016-01-24 02:32:58

标签: ruby-on-rails ruby postgresql model-associations

我是Ruby on Rails的新手,由于各种原因,我需要使用我没有写入权限的旧数据库。我有两个包含以下字段的表:

  • Skus:sku_id,名字。
  • SkuAnalytics:sku_id,data1,data2,data3

    cron_can_relabel --> off
    cron_system_cronjob_use_shares --> off
    cron_userdomain_transition --> on
    fcron_crond --> off
    

SkuAnalytic没有主键,所以我没有指定它。 Sku的主要关键是sku_id。我希望能够运行一些像

这样的代码
class Sku < ActiveRecord::Base

    self.table_name = "skus"
    self.primary_key = "sku_id"

    has_many :sku_analytics, foreign_key: "sku_id"

end

class SkuAnalytic < ActiveRecord::Base

    self.table_name = "sku_analytics"

    belongs_to :sku, foreign_key: "sku_id"

end

打印出特定sku_id的所有分析数据。但是,现在发生的是s = Sku.first s.sku_analytics.all 返回sku_analytics表中的所有内容,sku_analytics的sku_id替换为s的sku_id(即使sku_analytics表中不存在s的sku_id)。

我很困惑为什么会发生这种情况,并且不知道如何解决它!

0 个答案:

没有答案