首页 > 解决方案 > 用户模型和角色

问题描述

实现角色的最佳方式是什么?基本上我想要的是一个用户模型。但我想要两种不同类型的用户。1)他们可以购买产品的普通用户。2)第二个用户是卖家。此用户可以添加和删除产品。

如何将卖家添加到用户?我希望买卖双方有相同的设计意见。你能举个例子吗?

目前我有一个用户模型(设计)和一个产品模型。

标签: ruby-on-railsruby

解决方案


您可以使用 cancancan 宝石。并在 users 表中添加一个列 Seller(boolean)。

然后在能力.rb

if user.present?
  can :read, Product
end

if user.seller?
 can :manage, Product, user_id: user.id     
end

假设产品属于用户,这将允许卖家创建/编辑/删除他们的产品(如果产品对所有卖家都是通用的,您可以删除该部分user_id: user.id)。

而所有其余的(买家)都可以看到所有产品。如果他们购买可能他们可以创建一个订单或任何你会叫它..


推荐阅读