RoR:同一模型中的has_one和has_many引用?

时间:2012-12-21 17:51:50

标签: ruby-on-rails associations has-many-through

假设我有一个名为Device的模型,另一个名为Firmware的模型(包含固件版本号和其他信息)。我想跟踪设备上安装的固件版本的历史记录,还要参考当前版本(可能是也可能不是最新的日期版本)。

如何设置关联以便指向一个特定的固件配置(当前版本)以及几种不同的固件配置(历史记录)?

2 个答案:

答案 0 :(得分:8)

device_current_id整数列添加到固件表中,然后:

class Device < ActiveRecord::Base
  ...
  has_one :current_firmware, class_name: "Firmware", foreign_key: "device_current_id"
  has_many :firmwares
end

答案 1 :(得分:1)

在您的关联中使用:class_name,例如......

设备型号

has_one :current_firmware, class_name :firmware
has_many :old_firmwares, class_name :firmware
相关问题