オブジェクト指向か?と言われると微妙なとこです(;^ω^)
前にこんなモデル設計しました
userには共通項目があって、customer、employeeそれぞれの項目をもっています。
このプロジェクトでは、それぞれのテーブルをリレーションして実装しました
ふりかえって、parentオプションを使ってみます
userモデル typeカラムを追加
$ rails g model User first_name:string last_name:string \ email:string company:string unit:string type:string
customerモデル
$ rails g model customer --parent user
employeeモデル
$ rails g model employee --parent user
userモデルはこんなの
class User < ActiveRecord::Base end
customerモデルはこんなの
class Customer < User end
employeeモデルはこんなの
class Employee < User end
それぞれuserモデルを継承しています
では、employeeモデルにバリデーションを設定しましょう
class Employee < User validates :working_arrangements, presence: true end
バリデーションの確認してみましょう
コールバックされましたヘ(^o^)ノ
customerモデルはどうでしょう?
saveできましたねー
userテーブル一つで、各モデルで振る舞いを変更できました
( ̄(エ) ̄)彡☆
0 件のコメント:
コメントを投稿