我正在尝试了解如何在RoR中使用多态关联,我们将不胜感激-我已经阅读了几篇文章,但仍然对如何创建以下模型感到困惑。
基本上,我希望有一个名为DrumUsage的类,它将具有多个Added_Usages和多个Removed_Usages。
答案 0 :(得分:2)
我想如果我是你,我会得到Drum
,类似于:
class Drum < ApplicationRecord
has_many :drum_usages
end
然后是一个DrumUsage
(我不喜欢这个名字,但我想它可以用)是这样的:
# == Schema Information
#
# Table name: drum_usages
#
# id :bigint not null, primary key
# note :text
# drum_id :integer
# person_id :integer
# usage_type :integer not null
# fluid_amount :float not null
# created_at :datetime not null
# updated_at :datetime not null
#
class DrumUsage < ApplicationRecord
belongs_to :drum
enum usage_type: {added: 0, removed: 1}
end
我猜到了fluid_amount
位。我不知道那是一个数字,如果是这样的数字。因此,我只是将:float
卡在其中。
然后,您可以在@drum.drum_usages
上进行操作,以进行操作,例如弄清楚桶中当前有多少液体,谁是从桶中添加/减去液体的所有人。上次添加/除去液体时。依此类推。