我一直在想這個問題一段時間了,雖然看起來很簡單,但我似乎無法讓它「正確」。 我基本上有兩類公司和員工。它的設立是爲了讓一個公司擁有多個員工,並且員工屬於一個公司。我也使用STI,所以我有公司<用戶和員工<用戶。所有這些都足夠了。現在,員工只能做兩件事:查看他們自己的配置文件並更新它。另一方面,公司可以創建員工。在應用程序中,這是創建員工的唯一方法。我的問題是,我想盡可能簡單地做到這一點,也考慮到我可能會在某個時候製作API。所以我的問題是什麼在這裏被認爲是好的做法?我應該讓員工成爲公司下的嵌套資源嗎?我應該在公司命名空間下創建員工資源嗎?我是否應該只在employees_controller中保留所有操作,然後使用權限來允許公司訪問它們?看來,我所嘗試的一切都會感覺「不對」。Rails,建模公司/員工關係
2
A
回答
0
從你的要求來看,似乎有兩種類型的用戶:普通用戶,不是員工和員工。 Rails有一個belongs_to
和has_many
模型之間的關係。因此,對於公司,你可以這樣做:
class Company < ActiveRecord::Base
has_many :users, :dependent => :destroy
class User < ActiveRecord::Base
attr_accessible :is_employee
belongs_to : company
在User
模型中,有一列名is_employee
存儲布爾值。這樣,您可以同時擁有員工和非員工。在Company
中,如果Company
被銷燬,其Users
將消失。那些關係
更多的文檔可以在這裏找到: http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html
相關問題
- 1. SugarCRM公司 - 中關係表
- 2. 建模Inox公司
- 3. 建模員工/組長關係
- 4. 數據庫結構來存儲公司 - 分公司 - 員工
- 5. 獲得公司員工數量與該公司的職位
- 6. 公司用戶關係模型的設置模型
- 7. NetSuite員工子公司變更
- 8. OAuth 2公司 - >員工等級
- 9. 如何在Rails中爲單個表繼承建模人員和公司?
- 10. 設計關聯公司系統
- 11. Laravel 5 - 約束母公司關係
- 12. LinkedIn API人員公司
- 13. 顯示公司1的員工姓名,其薪水大於公司2的每個員工(SQL)
- 14. 如何將公司的React-Native應用程序部署到公司的員工?
- 15. 在Rails中建模公司和個人客戶
- 16. LinkedIn API「公司關注」如何開始關注公司
- 17. 使用API按公司在Facebook上搜索公司人員
- 18. 重建公司kardex
- 19. 建模人物/公司角色
- 20. 建模員工-助理(S)與EF代碼優先關係
- 21. 上次公司聯繫
- 22. Rails模型關係
- 23. Rails模型關係
- 24. Rails:在ActiveRecord中建模可選關係
- 25. 在Rails中建模自定義關係
- 26. Rails建模問題 - 關係和主鍵
- 27. Ruby on Rails:建模外鍵關係。
- 28. Rails 3建模複雜Has_Many關係
- 29. Rails顯示公司名稱而不是公司ID
- 30. 您如何在UML Java或C#或甚至數據庫中建模,客戶可以是實體人員或公司,公司有員工和承包商
感謝。我做這些工作並沒有什麼問題。正如我現在設置它,它運作良好。我的問題更多的是一個普遍的Rails問題。我應該怎樣做來重新闡述我原來的問題?我是新來的。 – Kasper
嗯,回到你的問題,我不確定你說的是什麼意思只有公司可以創建員工? – qusr
我的問題是,我想盡可能簡單地做到這一點,並儘可能使用「Rails'ish」。所以,這基本上是關於最佳做法。所以,由於沒有公司的員工沒有意義,我會讓員工成爲嵌套資源。現在這給了我漫長而笨拙的網址。所以,我分手了。現在我與員工合作的行爲分散在多個控制器上。此外,員工has_many邀請,但這些是隱含創建的,因此很難被視爲一種資源。事情是,即時通訊試圖獲得「軌道方式」。也許我應該讓它工作,但... – Kasper