You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails中为apps表新增requested_game关联后如何配置模型关系?

问题解答

1. 是否需要创建requested_game模型?

不需要。你新增的requested_game_id字段仍然指向已有的games表,只是关联别名和原有game关联不同,无需额外创建新的模型实体。

2. 模型关联配置

App模型(app/models/app.rb)

保留原有belongs_to :game配置,新增自定义关联配置如下:

# 原有关联保留
belongs_to :game
# 新增 requested_game 关联
belongs_to :requested_game, class_name: 'Game', foreign_key: 'requested_game_id'
# 如果业务允许该字段为空,可补充 optional: true 参数
# belongs_to :requested_game, class_name: 'Game', foreign_key: 'requested_game_id', optional: true

Game模型(app/models/game.rb)

保留原有has_many :apps配置,新增反向关联,自定义关联名避免和原有apps关联冲突,示例如下:

# 原有关联保留
has_many :apps
# 新增反向关联:作为 requested_game 关联的所有App,关联名可根据业务自定义修改
has_many :requested_apps, class_name: 'App', foreign_key: 'requested_game_id'

内容的提问来源于stack exchange,提问作者MrRaknum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:36:11