2015-09-22 25 views
0

我有一個120人的辦公室,分成組。當他們登錄到我的應用程序時,他們每個人都需要提供與他們的組相關的文檔,但可以訪問所有人。Rails在用戶組的基礎上限制/更改視圖

我可以在前端格式化這個信息,但我想我應該通過控制器變量來做到這一點。

這是什麼約定?

我應該通過@documents = Documents.where(group: user.group)來設置@documents,還是通過在前端對JS進行過濾?

請指教!

回答

0

您最好在服務器端進行排隊。這有兩個重要的原因。

第一個是效率。如果有許多文件,將它們發送給每個客戶將會產生問題。

第二個原因是安全性。如果您需要不同的組對文檔具有不同的訪問級別,則不應將所有文檔發送給所有客戶端。

我也認爲這樣你會獲得更多的可伸縮性。

+0

好信息。什麼是設置這個的好方法?只需使用where子句設置我的@doc? –

+0

@KevinBrown是的,像你在你的問題中顯示的過濾組是一個好主意。 – dimakura

+0

如果我有一堆命名的作用域,是否有一種很好的方法將該過濾器/作用域應用於前面的所有域?或者我應該鏈接並重構一下......目前爲止,我所有的代碼都將所有人都放在一個組中。 –

相關問題