gpt4 book ai didi

ruby-on-rails - 具有不同仪表板的多个设计用户

转载 作者:数据小太阳 更新时间:2023-10-29 07:36:01 26 4
gpt4 key购买 nike

我有两种类型的用户,并为他们生成设计模型和 View 。不得不这样做基本上是因为在这里使用角色是不可能的。两个用户都是不同的,并且会有不同的仪表板。还必须将数据存储在不同的表中,因为这些数据将在 .我成功地为他们创建了不同的路线,但现在我计划继续前进,我想遵循一个明确的结构,以后不会造成问题。我采用多态方式关联模型,并将它们命名为用户 A 和用户 B。

用户A

将能够发布查询

将能够为 B 发放付款

将能够保留和删除作业

用户 B

只能回答问题

将在完成工作后收到付款

将能够查看作业

*注意 - 这些只是我必须完成的许多功能中的一部分。

我在 SO 调查了其他问题,但没有得到具体答案。期待那些可能取得相同或处于类似情况的人的建议。提前致谢。

最佳答案

首先使用CanCanCan获取权限

在数据库中添加角色列,并生成能力模型

在你的用户模型中定义角色

  enum role: [:Admin, :Enduser, :Moderator]

针对不同的仪表盘

制作仪表板 Controller

class DashboardController < ApplicationController
def index
end
end

在你的 route 制作根仪表板

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

并根据您的要求将不同的 View 插入到不同的文件中。

关于ruby-on-rails - 具有不同仪表板的多个设计用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23562621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com