我是Ruby on Rails的新手,由于各种原因,我需要使用我没有写入权限的旧数据库。我有两个包含以下字段的表:
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)。
我很困惑为什么会发生这种情况,并且不知道如何解决它!