【发布时间】:2012-04-12 10:09:11
【问题描述】:
我有麻烦需要您的帮助: 有 1 个具有 1 个属性“employee_type”的模型员工。一名员工只有一种类型。员工有 3 种类型(“初学者”、“普通”、“专业”,未来可能会增加)。所以我认为有3种方式来实现它。
- employee_type 属性是字符串类型,它是“初学者”,或“普通”,或“专业”。然后在助手中,我需要在选择框视图中定义显示 3 类型的方法。使用这种方式,缺点是“每当我想添加更多类型时,我必须插入原始代码”
- 创建employee_type 表,其中只有3 条记录“beginner”、“normal”、“pro”。而employee_type属性为整型,保存employee_type表记录的id。 employee 表和employee_type 表没有任何关联。用这种方式,优点是容易插入更多类型。缺点是“如果我想查找员工类型,我必须运行 EmployeeType.find(employee.employee_type)”
- 创建employee_type 表,它与employee 有1-1 关系并使用has_one。通过这种方式,优势很容易通过employee.employee_type 找到员工类型。缺点是很难管理多少类型的员工
还有比他们更好的方法吗?
非常感谢
【问题讨论】:
标签: ruby-on-rails associations