私はあなたの助けが必要な問題を抱えています:1つの属性「employee_type」を持つ1つのモデル従業員がいます。1人の従業員には1つのタイプしかありません。従業員には3つのタイプがあります(「初心者」、「普通」、「プロ」、将来的に増える可能性があります)。ですから、それを実装する方法は3つあると思います。
- employee_type属性は文字列型であり、「beginner」、「normal」、または「pro」です。次に、ヘルパーで、選択ボックスビューに3タイプを表示するためのメソッドを定義する必要があります。このように、不利な点は「タイプを追加したいときはいつでも、生のコードに挿入しなければならない」ということです。
- 「beginner」、「normal」、「pro」の3つのレコードのみを含むemployee_typeテーブルを作成します。また、employee_type属性は整数型であり、employee_typeテーブルのレコードのIDを保存します。employeeテーブルとemployee_typeテーブルには関連付けがありません。このようにすると、より多くのタイプを簡単に挿入できるという利点があります。欠点は、「従業員のタイプを検索する場合は、EmployeeType.find(employee.employee_type)を実行する必要がある」ということです。
- employee_typeテーブルを作成します。このテーブルはemployeeと1-1の関係にあり、has_oneを使用します。このようにして、employee.employee_typeによって従業員のタイプを簡単に見つけることができます。不利な点は、何種類の従業員を管理するのが難しいか
それらよりも良い方法はありますか?
どうもありがとうございます