ruby-on-rails - 用户模型和角色
问题描述
实现角色的最佳方式是什么?基本上我想要的是一个用户模型。但我想要两种不同类型的用户。1)他们可以购买产品的普通用户。2)第二个用户是卖家。此用户可以添加和删除产品。
如何将卖家添加到用户?我希望买卖双方有相同的设计意见。你能举个例子吗?
目前我有一个用户模型(设计)和一个产品模型。
解决方案
您可以使用 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
)。
而所有其余的(买家)都可以看到所有产品。如果他们购买可能他们可以创建一个订单或任何你会叫它..
推荐阅读
- flutter - 如何更改 TextFormField 线条颜色?
- mysql - Mysql查询:在一行中组合多行,按日期分组
- ssl - 是否可以在网页上下文中信任证书?
- powerbi - 如何在 Power Query 中向上移动空单元格?
- iframe - 内容安全策略问题...iframe 和内联样式
- arrays - 是否可以在此 c 代码中使用数组名称指针进行输入?
- spring - @Repository 和 @EnableJpaRepositories 都不适用于最新的 Hibernate 和 Spring
- android - 为什么立即启动(在 Android 中)时,它没有完成任务?
- typescript - 带有 NODE_PATH 的打字稿定义
- python - Why does my Django Model not work correctly?