[英]Multiple Devise Users with different dashboards
我有兩種類型的用戶,並為他們生成設計模型和視圖。 不得不這樣做,因為在這里使用角色是不可能的。 兩個用戶都不同,並且將具有不同的儀表板。 還必須將數據存儲在不同的表中,因為這些數據將被進一步處理。 我成功地為他們兩個創造了不同的路線,但現在我計划前進,我想遵循一個明確的結構,以后不會引起問題。 我采用多態方式關聯模型,並將它們命名為用戶A和用戶B.
用戶A.
將能夠發布查詢
將能夠為B發放付款
將能夠保留和刪除工作
用戶B
只是能夠回答問題
將在完成工作時收到付款
將能夠查看工作
*注意 - 這些只是我必須完成的許多功能中的一部分。
我已經調查了其他問題,但我沒有得到具體答案。 期待那些可能已達到相同或處於類似情況的人的建議。 提前致謝 。
首先使用CanCanCan進行許可
將角色列添加到數據庫中,並生成能力模型
將角色定義到您的用戶模型中
enum role: [:Admin, :Enduser, :Moderator]
對於不同的儀表板
制作儀表板控制器
class DashboardController < ApplicationController
def index
end
end
在您的路線中制作根儀表板
root 'dashboard#index'
在views / dashboard / index.html.erb中
<% if current_user.role == "Admin" %>
<%= render 'admin' %>
<% elsif current_user.role == "Moderator" %>
<%= render 'moderator' %>
<% elsif current_user.role == "ClientUser" %>
<%= render 'client_user' %>
<% end %>
在views / dashboard / index.html.erb中使文件像
_admin.html.erb
_moderator.html.erb
_client_user.html.erb
並根據您的要求將不同的視圖插入到不同的文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.