ruby-on-rails - 了解 Rails 多态关联
问题描述
我正在尝试了解如何在 RoR 中使用多态关联,任何帮助将不胜感激 - 我已经阅读了几篇文章,但我仍然对如何创建下面的模型感到非常困惑。
基本上我想要一个名为 DrumUsage 的类,它将有多个 Additional_Usages 和多个 Removed_Usages。
这是一个图表,显示我希望它看起来像什么。
解决方案
我想如果我是你,我会有一个类似的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
来做一些事情,比如弄清楚桶里有多少液体,所有从桶里加/减液体的人是谁。上次添加/去除液体的时间。等等。
推荐阅读
- codeigniter-3 - 在 Codeigniter 视图中显示文件夹中的所有图像
- c# - rx.net 中的背压问题
- cordova - 构建失败,无法读取未定义的属性“拒绝”
- sql - 在sql中将季度数转换为月份名称
- javascript - 如何从 promise.all 使用和返回数据
- c++ - 在 C++ 中设置对象彼此相等
- list - 在使用递归的球拍中,如果列表“L”总和为 n 但 L 中没有重复的值,我如何返回 #true
- arrays - JSON 文件的最外层可以是数组而不是对象吗?
- c# - FluentFtp 使用 tls 连接到 FTP 服务器,可以获取工作目录,但尝试获取文件列表时超时
- python - 两幅图像之间的特征匹配和检测