簡體   English   中英

在Rails中制作各種類型用戶的標准方法是什么?

[英]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模型。 然后為BuyerSeller制作單獨的模型, delegate所有共享屬性delegateUser模型。

這種方法不適用於很多用戶類型,但應該適合您的情況。

參考: http//api.rubyonrails.org/classes/Module.html#method-i-delegate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM