1

我正在尝试在Server和之间建立关系ReportServer模型has_many :reports。_

Server模型具有以下属性

  • ID
  • game_server_id
  • 姓名

Report模型具有以下属性

  • ID
  • game_server_id
  • 安装

我面临的问题是如果我执行以下操作

    class Server < ActiveRecord::Base
      has_many :reports 
    end

   Server.first.reports

server_idRails 将尝试根据模型中的字段将服务器与其报告匹配Report。为了解决这个问题,我可以轻松地执行以下操作

    class Server < ActiveRecord::Base
      has_many :reports, source: :game_server 
    end

   Server.first.reports

现在,rails 将尝试查找服务器的报告,但匹配Server.idReport.game_server_id. 这不是我想要的!

Report.game_server_id我需要 rails来匹配Server.game_server_id. 无论如何我可以更改配置以实现这一点吗?

4

1 回答 1

1

您可以在关联中指定外键。您可以在文档中看到所有可用于关联的选项。

尝试这个:

has_many :reports, foreign_key: :game_server_id
于 2013-10-19T01:13:19.573 回答