2011-04-18 42 views
0

我正在開發一個招聘應用程序,用於存儲面試人員的記錄。所以我有兩種模式 - 申請人&員工在OO意義上看起來像一個。即員工早些時候是申請人。所以我打算創造像一個單一的表繼承:Rails - Single Table是否繼承申請人/員工關係

申請人<人

員工<人

所有申請人的領域是否有員工。員工還有其他幾個不在申請人範圍內的領域。

我對這個計劃是否正確。我有另一個類似的場景來處理 - 前景&客戶端。

更新:由於我在STI工作越來越多,我開始不喜歡它。

回答

1

根據我個人的觀點,以OO的觀點來看,你是對的。

Applicant < Person 

Employee < Person 

但是,當涉及到數據庫/表我會去爲所謂的「人」(人)一臺具有所有列都「申請人」和「員工」,有一個列有標誌說明此人是否是申請人或員工

注::但是如果只有「其他幾個字段的並不多,這是唯一真正的

HTH

sameera

+1

ŧ他的員工有額外的領域,如:薪水,job_title,additional_benefits和其他幾個像文件等 在STI的情況下,只有一個表的所有領域和類型列,所以你的解決方案是如何不同於STI的方式。 – RubyDev 2011-04-18 11:46:46

+0

因爲我現在已經使用過多次STI,所以我贊成使用布爾標誌的非STI方法。 – RubyDev 2011-05-31 01:13:01

+0

嗨@RubyDev很高興它幫助..:D – sameera207 2011-05-31 03:42:14