我是 Ruby on Rails 的新手(这可能很快就会很明显),我正在尝试为以下数据场景找出一个模型。我已经阅读了几篇文章并详细搜索了谷歌,但我仍然感到困惑。
我有 5 个具有相同列的不同表,但value
列具有不同的数据类型。出于各种充分的原因,他们的数据位于 5 个单独的表中,但可以将其视为跨多个表分片的数据。
logbook_strings (user_id, entry_id, field_id, value)
logbook_booleans (user_id, entry_id, field_id, value)
logbook_integers (user_id, entry_id, field_id, value)
logbook_decimals (user_id, entry_id, field_id, value)
logbook_datetimes (user_id, entry_id, field_id, value)
所以这就是数据的样子:
------------------------------------------------
| user_id | entry_id | field_id | value |
------------------------------------------------
| 1 | alpha1 | date | 2012-11-14 |
| 1 | alpha1 | duration | 1.2 |
| 1 | alpha1 | remarks | Nice job. |
------------------------------------------------
| 1 | alpha2 | date | 2012-11-13 |
| 1 | alpha2 | duration | 2.7 |
| 1 | alpha2 | remarks | Bad job. |
------------------------------------------------
条目 alpha1:
2012 年 11 月 14
日,1.2,干得好。
条目 alpha2:
2012 年 11 月 13 日,2.7,糟糕的工作。
等等
我这样做的原因是我可以拥有一个无限灵活的数据库。我可以field_id
随时添加一个新字段/功能来为我的应用程序添加一个新字段/功能,而不是进行架构更新以将另一列添加到宽日志表中。
所以我想知道,有没有一种方法可以让我拥有一个可以引用所有 5 个表的 ActiveRecord 模型?