【发布时间】:2012-12-09 07:32:37
【问题描述】:
假设我有一个名为 Device 的模型,以及另一个名为 Firmware 的模型(其中包含固件版本号和其他信息)。我想跟踪设备上安装的固件版本的历史记录,以及对当前版本的引用(这可能是也可能不是最新的日期)。
如何设置我的关联,以便我可以指向一种特定的固件配置(当前的)和几种不同的固件配置(历史)?
【问题讨论】:
标签: ruby-on-rails associations has-many-through
假设我有一个名为 Device 的模型,以及另一个名为 Firmware 的模型(其中包含固件版本号和其他信息)。我想跟踪设备上安装的固件版本的历史记录,以及对当前版本的引用(这可能是也可能不是最新的日期)。
如何设置我的关联,以便我可以指向一种特定的固件配置(当前的)和几种不同的固件配置(历史)?
【问题讨论】:
标签: ruby-on-rails associations has-many-through
将device_current_id整数列添加到固件表中,然后:
class Device < ActiveRecord::Base
...
has_one :current_firmware, class_name: "Firmware", foreign_key: "device_current_id"
has_many :firmwares
end
【讨论】:
在您的关联中使用:class_name,例如...
设备型号
has_one :current_firmware, class_name :firmware
has_many :old_firmwares, class_name :firmware
【讨论】: