[英]What is the standard way to make varied types of Users in Rails
我開始的項目有多種用戶,基本上是買家和賣家模型。 某些屬性適用於不向賣方提供的買方,但它們共享許多基本用戶特征。 如果它不是一個Web應用程序,我知道如何繼承,但在rails中執行此操作的正確方法是什么?
如果是引入角色或組概念的問題,則應添加角色或組模型,以便用戶可以成為買方和賣方。 但由於它不是一個角色,而您的目標是擁有買方和/或賣方特定字段,因此您應該有另外兩個名為買方和賣方的模型,然后在用戶模型中與每個模型建立關聯。 這樣,用戶可以是買方,賣方,兩者,甚至是兩者中的許多人。
如果您在某個時刻需要用戶和賣家之間的多對多(例如),那么即使您可以使用HABTM,最好引入一個領帶模型並使用has_many:through,這樣它可以有關於關系的數據等。
假設您使用的是ActiveRecord,請在開始之前仔細閱讀: http : //guides.rubyonrails.org/association_basics.html
(或者,對於邊緣: http : //edgeguides.rubyonrails.org/association_basics.html )
您正在尋找的Rails中的概念稱為單表繼承 。
您創建一個基本User
模型,然后使用User
作為基類子類化不同的其他模型。
為角色/用戶類型之間共享的所有基本屬性創建User
模型。 然后為Buyer
和Seller
制作單獨的模型, delegate
所有共享屬性delegate
給User
模型。
這種方法不適用於很多用戶類型,但應該適合您的情況。
參考: http : //api.rubyonrails.org/classes/Module.html#method-i-delegate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.