2017-04-05 92 views
0

我有三個模型:CompanyUserEmployment。每個公司都有很多用戶,但他們的就業機會很大,而且一個用戶可能通過他的工作屬於幾家公司。在Rails中設置屬性has_many_though關係

現在,棘手的部分:假設我的用戶1屬於2家公司。第一個公司是SUPER_ADMIN,但第二個公司是BASIC_USER。什麼是定義他的角色的最佳方式?

我以前在公司和用戶之間有一個簡單的has_many關係,允許我簡單地在我的用戶上設置一個is_admin attr,但顯然這不會與新的HMT關係有關。

我想爲每個公司定義一個ID數組,這將包括每個管理員用戶的ID,但我確信有一個更清晰的方法。

+1

您可以在'employment'中通過表 – Sajin

+1

添加一個'role'字段,您應該使用employement來定義用戶在特定公司中的角色。這種方式也解決了你的HTM關係。 – rfellons

回答

0

在上述場景中,您可以使用中間表即Employment表保存用戶及其關聯公司的所有詳細信息。

由於Employment表將具有兩個用戶&公司的ID,您將很容易保留與用戶和公司有關的額外信息。只需在此添加role列並使用它獲取信息

+1

是的,只是不得不添加一個方法來檢索和採摘管理員用戶。非常出色,很好,先生。 –