0

在我的 Rails 项目中,我有两个相似的模型SafetyTestTeamDue. 它们的字段完全相同,只是名称不同。每个实例belongs_to一个Student.

我想添加创建遵循上述两个结构的新模型的能力。所以也许我想添加MedicalForm. 作为开发人员,我不想通过 CLI 执行此操作,而是在视图中提供一个界面,以便管理员可以添加自己的界面。

假设SafetyTest,TeamDueMedicalForm都可以用名字来描述SeasonalRequirement。实现我的想法的最佳和最可维护的方式是什么?

我在 Rails 方面没有经验,但我的想法是将上述模型合并到一个名为 的综合模型中,并为每种类型SeasonalRequirement添加一列。type问题在于:用户如何创建一种新的季节性需求(例如MedicalForm)?当我尝试为每个部分显示单独的部分时,我什至如何确定存在哪些类型的季节性要求?

4

2 回答 2

1

我会为此考虑多态或 STI 关系。

在以下位置查看更多详细信息:http ://code.alexreisner.com/articles/single-table-inheritance-in-rails.html

我会使用 STI 对此进行建模。

于 2012-12-31T01:33:03.500 回答
0

没有太多使用 RoR,但是让用户更改数据库的结构似乎是个坏主意。

可能的工作是这样的:

additional_student_columns
--------------------------
id
name

并添加另一个表:

additional_student_values
--------------------------
student_id
column_id
value (string)

这样做的缺点是它只能使用字符串值

于 2012-12-31T01:25:42.420 回答