我有一個帶有2個角色的Rails應用程序,比如說管理員和用戶。但事情是,管理員不會像ActiveAdmin那樣使用後端。我希望管理員和用戶都能看到相同的視圖,但根據角色,我限制他們可以看到的內容。我使用的是Cancan,但是因爲例如管理員和用戶都可以看到產品頁面,所以我最終在視圖和控制器操作內部有很多條件,例如,如果這是一個管理員顯示,如果不是,則會顯示。具有多個角色的Rails應用程序
所以我不認爲這是「Rails方式」。我最終得到了很多重複的代碼,並且在代碼裏面並沒有真正支持讓邏輯遠離視圖的想法。
所以我的問題是,什麼是最好的方式來實現這種情況與許多角色,但相同的意見。
謝謝。
我在想兩個選項,但我不喜歡。一個是將管理員重定向到另一個視圖,但這種方式大多數視圖是相同的,因此它根本不是DRY。 選項2是使用完全相同的視圖,但在視圖中添加了許多條件,所以我最終得到了一個包含代碼的巨大複雜視圖。我試圖找到一種讓事情變得乾爽而簡單的方法,並使視圖代碼免費。
好的,這似乎很整潔,但現在我必須傳遞所有文件並在所有路徑的開始追加一個admin_。有沒有更簡單的方法來做到這一點? – user1069624
看看這個鏈接獲取更好的主意 http://stackoverflow.com/questions/119197/the-rails-way-namespaces http://www.purpleworkshops.com/articles/grouped-controllers 。在簡而言之,您只需將他們的操作與普通用戶和管理員按名稱空間分開即可 – Ross