我正在rails中實現一個求職應用程序,用戶可以註冊三個不同的配置文件/角色。如何實現多個角色的關聯?
- 僱主
- 工人
- 企業家(擁有自己的公司)
用戶可以選擇多個配置文件/角色。
(我用的是設計)
我的查詢是有可能實現上述case.?like的單表繼承
CLass Employer < user
CLass worker < user
或者什麼應該是最好的解決方案數據庫結構來實現上述功能?
我正在rails中實現一個求職應用程序,用戶可以註冊三個不同的配置文件/角色。如何實現多個角色的關聯?
用戶可以選擇多個配置文件/角色。
(我用的是設計)
我的查詢是有可能實現上述case.?like的單表繼承
CLass Employer < user
CLass worker < user
或者什麼應該是最好的解決方案數據庫結構來實現上述功能?
是的,這當然是可能的,當車型共享相同的屬性STI被廣泛使用,如果你希望能夠查詢它們放在一起(將有助於速度和簡單,因爲你是裝入一張數據庫表)。你也可以在類之間共享代碼,你只需要在父類中放置一個方法並讓所有的子類繼承。
側面說明,請確保您下面的Ruby命名慣例,利用類
Class Worker < User
EDIT(建議的方法)
我不會有這些角色從用戶繼承,你仍然可以使用STI但創建另一個模型
Class User < ActiveRecord::Base
has_many :profiles
Class Profile < ActiveRecord::Base
belongs_to :user
Class Employer < Profile
Class Worker < Profile
Class Entrepreneur < Profile
@@謝謝凱爾快速回復。是我想實施STI,但正如我在我的問題中提到的在這種情況下,用戶可以選擇多個配置文件/角色如何實施STI。 –
誤解了這個問題,我會更新 –
是請我真的struggling.If大家有什麼好的解決方案,請建議me.Because其他功能/好的代碼/數據庫是取決於這個重要thing.currently我使用rolify寶石但我感覺,它不是一個好的解決方案。 –
http://code.alexreisner.com/articles/single-table-inheritance-in-rails.html –